Форум: "WinAPI";
Текущий архив: 2006.01.15;
Скачать: [xml.tar.bz2];
ВнизCreateProcess открывает почти всё кроме Delphi и Builder Найти похожие ветки
← →
Denis.NET (2005-11-07 19:18) [0]Ув. Мастера. 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-07 19:32) [1]Ну и ?
2 = The system cannot find the file specified
3 = The system cannot find the path specified.
Явно пробовал задавать имя файла ?
Зы. Кроме всего прочего, им необходимо указать переменные окружения, и не только для Delphi и Builder
← →
Чапаев © (2005-11-07 20:02) [2]Рабочий каталог приложения прописывай.
← →
Denis.NET (2005-11-08 05:44) [3]((
При задании пути к файлу - открывает.
...Кроме всего прочего, им необходимо указать переменные окружения..
сорри а где можно найти чем заполнять nil"ы ?
← →
ShiFT (2005-11-08 06:24) [4]MSDN, Delphi Help, MS SDK Help из поставки Delphi.
Ищи. Там Всё ЕСТЬ.
← →
Denis.NET © (2005-11-08 08:41) [5]ShiFT - вы бы лучше строчкой помогли . Много там в хелпе нароеш когда такая ситуация ((
← →
Denis.NET © (2005-11-08 09:01) [6]ведь икошка из приложения тоже извлекается ((
← →
kami © (2005-11-08 09:48) [7]HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\MY_app_name
← →
kami © (2005-11-08 09:51) [8]Сорри, забыл написать - в этой ветке хранятся переменные окружения. Какой API-функцией получить их - не смотрел, хватало пока этого(хотя, надо бы взглянуть).
Особенно к переменным окружения чувствительны такие программы, как ACDSee
← →
ShiFT (2005-11-08 10:08) [9]
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 13:21) [10]ShiFT (08.11.05 10:08) [9]
Дальше сам разбирайся
Вот и попробуй, указав nil вместо lpEnvironment, запустить таким боком ACDSee - посмотрим, что получится :)
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2006.01.15;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.013 c