Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.01.2014, 11:56   #1
Winexcel
Форумчанин
 
Регистрация: 26.08.2013
Сообщений: 187
Сообщение Запуск файл shellexecute

Собственно нужно реализовать следующее:
Запустить исполняемый файл свернутым или скрытым, затем либо развернуть его либо показать, пробовал скрыть или свернуть calc.exe, нечего не вышло:

Код:
 ShellExecute(Handle, nil, 'calc.exe', nil, nil, SW_HIDE); //скрыть
или

Код:
 ShellExecute(Handle, nil, 'calc.exe', nil, nil, SW_MINIMIZE);
А как уже после этого развернуть только догадываюсь
Winexcel вне форума Ответить с цитированием
Старый 03.01.2014, 12:14   #2
blackstrip
Форумчанин
 
Аватар для blackstrip
 
Регистрация: 21.01.2012
Сообщений: 240
По умолчанию

Сначала попробуй по-простому - должно заработать.

Код:
ShellExecute(Handle,nil,'calc.exe',nil,nil,SW_SHOW);
А потом экспериментируй с SW_. Если будут вместо строк переменные, то их в PAnsiChar надо превратить. Также можно задать командную строку.

Код:
ShellExecute(Handle,nil,PAnsiChar(exefilename),PAnsiChar(commandline),nil,SW_SHOW);
Сворачивать или разворачивать окно чужого процесса - боюсь придется тебе искать его hwnd среди всех окон и других компонент и потом управлять им. В ShellExecute ты просто нечто типа рекомендации отправляешь "хочу чтоб открылось вот так". Никакого последующего влияния ты, вроде как, уже оказывать не можешь (через повторный shellexecute просто еще один экземпляр программы запустится и всё).

Вот из MSDN про последний параметр ShellExecute: http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

nShowCmd [in]

Type: INT

The flags that specify how an application is to be displayed when it is opened. If lpFile specifies a document file, the flag is simply passed to the associated application. It is up to the application to decide how to handle it. These values are defined in Winuser.h.

Поэтому программы могут вообще не реагировать на твое SW_MINIMIZE и творить после запуска что им захочется.

Последний раз редактировалось blackstrip; 03.01.2014 в 12:23.
blackstrip вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ShellExecute и запуск программы Zubastic Общие вопросы Delphi 7 26.08.2012 12:16
ShellExecute и запуск игр Anton) Win Api 12 14.10.2011 18:21
Не запускается файл по ShellExecute Alex Cones Общие вопросы Delphi 2 02.09.2010 20:03
ShellExecute открыть файл посторонней программой delias Win Api 2 10.04.2010 18:07
Не получается открыть .exe файл, через команду ShellExecute Norton Общие вопросы Delphi 5 05.05.2009 19:57