Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.15;
Скачать: CL | DM;

Вниз

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 вся ветка

Текущий архив: 2006.01.15;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.053 c
14-1135064032
stone
2005-12-20 10:33
2006.01.15
Это по-русски...


4-1131305102
serko
2005-11-06 22:25
2006.01.15
Полный доступ к папке!


1-1134211132
WebSQLNeeder
2005-12-10 13:38
2006.01.15
Быстрый перебор десяток тысяч логинов


14-1135204091
vampire
2005-12-22 01:28
2006.01.15
УДИВИТЕЛЬНЫЕ СВОЙСТВА ВОДЫ


14-1135085051
Иксик
2005-12-20 16:24
2006.01.15
Удаленная тех. поддержка