![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Требуется ваше мнение: Что мешает программе запуститься? [D2005, XP]
koha © (2006-11-10 14:41:00)Требуется ваше мнение: Что мешает программе запуститься?
Дапустим, это панель-менежер, с которой должна запускаться игра.
Программа запускается через CreateProcess, запускается и на стадии инициали выгружается.
А если запускаю эту программу через ярлык функцией
ShellExecute(Handle,Nil,PChar(InstallDir+'\Speed.exe.lnk'),Nil,Nil,SW_NORMAL);
- запускается нормально, полностью.
Что может влиять:
1. Что программа запускается в дочернем процессе? если так то как ее перевести в другой статус?
2. парамтр Process Creation Flags или GetPriorityClass
3. Параметр задающий режим окна
4 Или еще какой параметр
CreateProcess Имеет такие параметры:
FileName:=InstallDir+'\NFS_Most_Wanted\Speed.exe'; //Путь правильный.
FillChar(StartupInfo, SizeOf(StartupInfo), #0);
StartupInfo.cb := SizeOf(StartupInfo);
StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow := SW_SHOWNORMAL; //моя
CreateProcess(nil,PChar(FileName),nil,nil,False,CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS,nil,nil,StartupInfo,ProcessInfo);
koha (2006-11-11 21:39:00) [1]Точно, не хватало второго параметра - текущей директории. Все заработало,
теперь программа "....NFS_Most_Wanted\Speed.exe" запускается - Увидеть меня будет сложно!
*Стажер* (2006-11-11 10:36:00) [2]Там .lnk, я это упустил. Смотри Тейксейра, Пачеко.
*Стажер* (2006-11-11 10:29:00) [3]ShellExecute(Handle, nil, PChar(ExeName), nil, PChar(ExtractFilePath(ExeName), SW_NORMAL);
Вот так должно пойти
Anatoly Podgoretsky (2006-11-11 09:57:00) [4]Удалено модератором
Ketmar (2006-11-11 02:03:00) [5]немножко помедитировать начёт рабочей папки, которая прописана в .lnk, но не задана у тебя. также посмотреть в .lnk на предмет параметров.
Palladin (2006-11-11 01:53:00) [6]
> А что WinExec уже не в моде?
и довольно давно
koha (2006-11-10 15:24:00) [7]> Elen © (10.11.06 14:57) [1]
WinExec - как я помню, для поддержки dos програм 16 разрядных был оставлен, но сним тоже происходит что и CreateProcess простоя я уж об этом выше не стал писать.
Elen (2006-11-10 14:57:00) [8]
> ShellExecute
А что WinExec уже не в моде?