Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Если моя программа запускается через shellExecute() (Delphi) как считать при запуске передаваемые параметры

Вайнер Игорь Профи (850), закрыт 16 лет назад
Пишу простейший вьюер, надо чтобы при клике на jpg файле он запускался и открывал файл.
Связать расширение с запуском программы у меня получилось через реестр, но как сделать
чтобы прога "поняла " что надо открыть тот jpg на котором был клик. shellExecute() имеет пареметр
через который можно например explorer передать адрес директории. Но как считать этот параметр?
Лучший ответ
Gennady Гений (60221) 16 лет назад
Доброго времени суток.

При старте программы проверьте значение ParamCount, а затем в цикле forj:=0 to ParamCount-1 получите значения ParamStr(j) всех параметров. Ну а дальше вы должны знать, что делать с ними. Отмечу, ParamStr(0) дает имя исполняемого файла.

Удачи!
Остальные ответы
Павел Мыслитель (8283) 16 лет назад
В секции "HKEY_CLASSES_ROOT" находишь подсекцию ".jpg"... В этой подсекции есть параметр по умолчанию - это имя секции с настроками в "HKEY_CLASSES_ROOT" (стандартно jpegfile)... Находишь её... В ней открываешь подсекцию "shell\open\command"... В этой подсекции параметр по умолчанию - имя запускаемой программы с полным путём и параметром:

[HKEY_CLASSES_ROOT\jpegfile\shell\open\command]
@="C:\\WINDOWS\\jpegview.exe %1"

Имя открываемого файла передаётся через "%1", а в [ссылка заблокирована по решению администрации проекта] его можно получить, использовав функцию ParamStr(1)...

Желаю удачи.. .;)
Вячеслав Суворов Мыслитель (7604) 16 лет назад
попробуй так: ShellExecute(hInstance,"open","имя программы",
"список параметров", NULL, SW_SHOWNORMAL);

а как считать параметры - зависит от окружения
Похожие вопросы