Pokretanje *.exe fajla?
27.11.2003. u 23:03 · pre 278 meseci
#1
Kako da na primer kad kliknem na Button1 da pokrene odgovarajuci exe fajl, na primer moj program se nalazi u jednom direktorijumu nije bitno gde i sad zelim da on pokgere aplikaciju koja je u poddirektorijumu npr "exe\proba.exe".
Probao sam sa ovom funkcijom ali nista se ne desava
da li postoji i neki drugi kod, posto ovaj nije ispravan tj nece da otvori aplikaciju?
Hvala unapred!!!
GYGY
Probao sam sa ovom funkcijom ali nista se ne desava
Code:
procedure TForm1.Button1Click(Sender: TObject);
var
proc_info: TProcessInformation;
startni_info: TStartupInfo;
begin
// inicijalizacija
FillChar(proc_info, sizeof(TProcessInformation), 0);
FillChar(startni_info, sizeof(TStartupInfo), 0); startni_info.cb := sizeof(TStartupInfo);
// pokusaj kreiranja procesa
if CreateProcess('exe\proba.exe', nil, nil, nil, false, NORMAL_PRIORITY_CLASS, nil, nil, startni_info, proc_info) <> False then
begin
// proces je uspesno kreiran i
//ceka se njegovo okoncanje...
WaitForSingleObject(proc_info.hProcess, INFINITE);
// Proces je zavrsen. Možemo ga zatvoriti
CloseHandle(proc_info.hProcess); Application.MessageBox('zavrsio rad!', 'Info', MB_ICONINFORMATION);
end
else begin
// nemogućnost kreiranja procesa
Application.MessageBox('Nije moguce izvrsiti ' + 'application', 'Error', MB_ICONEXCLAMATION);
end;
end;
i nista se ne desava?procedure TForm1.Button1Click(Sender: TObject);
var
proc_info: TProcessInformation;
startni_info: TStartupInfo;
begin
// inicijalizacija
FillChar(proc_info, sizeof(TProcessInformation), 0);
FillChar(startni_info, sizeof(TStartupInfo), 0); startni_info.cb := sizeof(TStartupInfo);
// pokusaj kreiranja procesa
if CreateProcess('exe\proba.exe', nil, nil, nil, false, NORMAL_PRIORITY_CLASS, nil, nil, startni_info, proc_info) <> False then
begin
// proces je uspesno kreiran i
//ceka se njegovo okoncanje...
WaitForSingleObject(proc_info.hProcess, INFINITE);
// Proces je zavrsen. Možemo ga zatvoriti
CloseHandle(proc_info.hProcess); Application.MessageBox('zavrsio rad!', 'Info', MB_ICONINFORMATION);
end
else begin
// nemogućnost kreiranja procesa
Application.MessageBox('Nije moguce izvrsiti ' + 'application', 'Error', MB_ICONEXCLAMATION);
end;
end;
da li postoji i neki drugi kod, posto ovaj nije ispravan tj nece da otvori aplikaciju?
Hvala unapred!!!
GYGY
Potpis
GYGY