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

Вниз

Запуск внешнего приложения   Найти похожие ветки 

 
Иксик   (2003-02-25 15:48) [0]

Как запустить внешнюю прогу, при этом получив ее handle? Когда делаю это shellexecute, он не возвращает handle.


 
gsu ©   (2003-02-25 15:52) [1]

createprocess


 
Иксик   (2003-02-25 16:02) [2]

Я то же сначала так подумал, просто решил что shellexecute"ом будет легче :)
Можншь поподробнее про createprocess, как им пользоваться?


 
blackman ©   (2003-02-25 16:06) [3]

например вызвать Notepad:

procedure TForm1.Button1Click(Sender: TObject);
var
si : Tstartupinfo;
p : Tprocessinformation;
begin
FillChar( Si, SizeOf( Si ) , 0 );
with Si do begin
cb := SizeOf( Si);
dwFlags := startf_UseShowWindow;
wShowWindow := 4;
end;
Application.Minimize;
Createprocess(nil,"notepad.exe",nil,nil,false,Create_default_error_mode,nil,nil,si,p);
Waitforsingleobject(p.hProcess,infinite);
Application.Restore;
end;


 
Иксик   (2003-02-25 16:35) [4]


> dwFlags := startf_UseShowWindow;


> Create_default_error_mode


> Waitforsingleobject(p.hProcess,infinite);


А это чего такое?


 
Иксик   (2003-02-25 16:37) [5]

И где там handle?
Я ужасно извиняюсь за тупые вопросы, просто я с этим никогда не работал, а сейчас вдруг срочно понадобилось.


 
gsu ©   (2003-02-25 16:53) [6]

http://www.firststeps.ru/mfc/winapi/r.php?131


 
Иксик   (2003-02-25 16:57) [7]

Ок, все ясно, только почему вот это не работает:

Createprocess(nil,"notepad.exe",nil,nil,false,Create_default_error_mode,nil,nil,si,p);
Waitforsingleobject(p.hProcess,infinite);
GetWindowText(p.hProcess, buff, sizeof(buff));
showmessage(buff) // Показывает пустое сообщение




 
gsu ©   (2003-02-25 17:03) [8]

int GetWindowText(
HWND hWnd, // handle of window or control with text
LPTSTR lpString, // address of buffer for text
int nMaxCount // maximum number of characters to copy
);


 
Иксик   (2003-02-25 17:03) [9]

Вроде разобрался, спасибо большое gsu и blackman


 
gsu ©   (2003-02-25 17:07) [10]

здорово, мне б кто-нить подсказал, хлюп, хлюп, ...



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

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

Наверх




Память: 0.48 MB
Время: 0.021 c
1-17038
Adolf
2003-02-21 20:49
2003.03.06
FindDialog


1-17022
Sergeyy
2003-02-25 09:42
2003.03.06
Изменение фокуса в VirtualStringTree


3-16862
den_777
2003-02-18 07:30
2003.03.06
Смена Ownera объекта в InterBase


1-17039
MikeFW
2003-02-25 09:27
2003.03.06
Как на чужой exe-шник навесить свой пароль?


1-17104
Opera
2003-02-26 01:34
2003.03.06
Едиты и текст