Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Требуется ваше мнение: Что мешает программе запуститься? [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 уже не в моде?


Наверх

Титульная страница Поиск, карта сайта Написать письмо