![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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