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

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

CreateProcess открывает почти всё кроме Delphi и Builder [D6, WinXP]


Denis.NET ©   (2005-11-07 19:18:00) 

Ув. Мастера. CreateProcess открывает почти всё кроме Delphi и Builder. GetLasError выдаёт 2 или 3(меняю местами 1 и 2 параметр). HELP !!!

...
begin
 commandline:=Catlist.Values[TMenuItem(Sender).Caption];
 FillChar(StartUpInfo, SizeOf(StartUpInfo),0);
 with StartUpinfo do
 begin
  cb:=SizeOf(StartUpinfo);
  dwFlags:=STARTF_USESHOWWINDOW OR STARTF_FORCEONFEEDBACK;
  wShowWindow:= sw_ShowNormal;
 end;
 if not  CreateProcess(nil,PChar(commandline) ,nil, nil, false, 0, nil, nil, StartUpInfo, ProcInfo) then
  ShowMessage('Ошибочка '+IntToStr(GetLastError));
end;
...


kami   (2005-11-08 13:21:00) [1]

ShiFT   (08.11.05 10:08) [9]
Дальше сам разбирайся


Вот и попробуй, указав nil вместо lpEnvironment, запустить таким боком ACDSee - посмотрим, что получится :)


ShiFT   (2005-11-08 10:08:00) [2]

function Execute: integer;
const
 fname      = 'delphi32.exe'; // =)
 wDir       = 'C:\MyProjects\'; // =)
var
 zAppName   : array[0..512] of Char;
 zCurDir    : array[0..255] of Char;
 StartupInfo: TStartupInfo;
 ProcessInfo: TProcessInformation;
begin
 StrPCopy(zAppName, fname);
 StrPCopy(zCurDir, wDir);
 FillChar(StartupInfo, SizeOf(StartupInfo), #0);
 StartupInfo.cb := SizeOf(StartupInfo);
 StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
 StartupInfo.wShowWindow := SW_SHOWNORMAL;
 if not CreateProcess( nil, zAppName, nil, nil, False, CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo) then
   Result := WAIT_FAILED
 else
   result := 0;
end;


Запускает Delphi IDE.
Дальше сам разбирайся.


kami   (2005-11-08 09:51:00) [3]

Сорри, забыл написать - в этой ветке хранятся переменные окружения. Какой API-функцией получить их - не смотрел, хватало пока этого(хотя, надо бы взглянуть).
Особенно к переменным окружения чувствительны такие программы, как ACDSee


kami   (2005-11-08 09:48:00) [4]

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\MY_app_name


Denis.NET   (2005-11-08 09:01:00) [5]

ведь икошка из приложения тоже извлекается  ((


Denis.NET   (2005-11-08 08:41:00) [6]

ShiFT - вы бы лучше строчкой помогли . Много там в хелпе нароеш когда такая ситуация ((


ShiFT   (2005-11-08 06:24:00) [7]

MSDN, Delphi Help, MS SDK Help из поставки Delphi.
Ищи. Там Всё ЕСТЬ.


Denis.NET   (2005-11-08 05:44:00) [8]

((
При задании пути к файлу  - открывает.

...Кроме всего прочего, им необходимо указать переменные окружения..

сорри а где можно найти чем заполнять nil'ы ?


Чапаев   (2005-11-07 20:02:00) [9]

Рабочий каталог приложения прописывай.


kami   (2005-11-07 19:32:00) [10]

Ну и ?
2 = The system cannot find the file specified
3 = The system cannot find the path specified.
Явно пробовал задавать имя файла ?
Зы. Кроме всего прочего, им необходимо указать переменные окружения, и не только для Delphi и Builder


Наверх

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