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

Вниз

запуск DOS приложения   Найти похожие ветки 

 
toropoff   (2012-10-23 21:45) [0]

никогда бы не подумал что тормознусь на столь тривиальной задаче запустить дос приложение и дождаться его завершения.
с десяток кодов перепробывал. вот последний:

Procedure RunRAR(param: String);
var
   StartInfo: TStartUpInfo;
   ProcInfo: TProcessInformation;
   createOK: Boolean;
   sMyRAR: string;

begin
    FillChar(StartInfo, SizeOf(TStartUpInfo), #0); FillChar(ProcInfo, SizeOf(TProcessInformation), #0);
    StartInfo.cb          := SizeOf(TStartUpInfo);
    StartInfo.dwFlags     := STARTF_USESHOWWINDOW;
    StartInfo.wShowWindow := SW_SHOW;

    sMyRAR  := "c:\Program Files\WinRAR\rar.exe";
    createOK := CreateProcess(PChar(sMyRAR), PChar(sMyRAR+" "+param), Nil, Nil, false, CREATE_NEW_PROCESS_GROUP+HIGH_PRIORITY_CLASS, NIL, NIL, STARTINFO, PROCINFO);
    if createOK then waitForSingleObject(PROCINFO.HPROCESS, Infinite) else ShowMessage("error");
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 runrar("a -m0 -rr c:\test.rar c:\testDir");
end;

не создается процесс и всё..  
Delphi2007


 
toropoff   (2012-10-23 21:54) [1]

ShellExecute(0,"open", Pchar("c:\Program Files\WinRAR\rar.exe"), Pchar("a -m0 -rr c:\test.rar c:\testDir"), nil ,SW_SHOWNORMAL);

так же не катит..


 
kilkennycat ©   (2012-10-23 21:54) [2]

после CreateProcess вызвать GetLastError


 
toropoff   (2012-10-23 22:01) [3]

ок щас попробую..

как ни странно на DelphiXE3 код отработал:

ShellExecute(0,"open", Pchar("c:\Program Files\WinRAR\rar.exe"), Pchar("a -m0 -rr c:\test.rar c:\testDir"), nil ,SW_SHOWNORMAL);

заменил на PAnsiChar в 2007 - один фиг нифига не пашет..
интересно даже стало.. буду копать..


 
toropoff   (2012-10-23 22:12) [4]

ShellExecute возвращает - 5,  CreateProcess - 50


 
toropoff   (2012-10-23 22:19) [5]

администрация, удалите пожалуйста эту тему, проблема оказалась в 2007 дельфи..
хоть и запускаю от админа но доступ почему-то не имеет..


 
kilkennycat ©   (2012-10-23 23:16) [6]

5 - понятно. 50 - странно...


 
Anatoly Podgoretsky ©   (2012-10-24 07:16) [7]

WinRAR это не ДОС приложение, смотрю даже слово Win в название не смущает.


 
Inovet ©   (2012-10-24 08:17) [8]

> [7] Anatoly Podgoretsky ©   (24.10.12 07:16)

Автору пофиг, лишь бы окошко чёрное с курсором было.


 
kilkennycat ©   (2012-10-24 09:11) [9]

эт вы зря. rar.exe - консольное приложение


 
Palladin ©   (2012-10-24 09:11) [10]

rar консольная утилита


 
Inovet ©   (2012-10-24 09:23) [11]

> [9] kilkennycat ©   (24.10.12 09:11)
> rar.exe - консольное приложение

консольная - ключевое слово.


 
kilkennycat ©   (2012-10-24 11:06) [12]

честно признаюсь, что до сего момента не особо делал разницу между консольным и дос....



Страницы: 1 вся ветка

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

Наверх




Память: 0.49 MB
Время: 0.005 c
15-1357798190
БарЛог
2013-01-10 10:09
2013.05.12
настройка php.ini


15-1357849802
Юрий
2013-01-11 00:30
2013.05.12
С днем рождения ! 11 января 2013 пятница


6-1267622827
_netbios_
2010-03-03 16:27
2013.05.12
функция NetBIOS и Windows Vista


15-1357835257
SaJek
2013-01-10 20:27
2013.05.12
Delphi. По вопросу графики и анимации программах. GUI.


2-1351048982
ani
2012-10-24 07:23
2013.05.12
Передача значения из DLL в программу