Da li neko moze da mi napravi mini program koji ce sadrzati jednu formu i dugme na njoj i da se klikom na to dugme otvori neki drugi program. Ja sam poludeo pokusavajuci da to uradim pomou ShellExecute naredbe.
Startovanje drugih programa
Zaključano
Zakačeno
void __fastcall TForm1::Button1Click(TObject *Sender)
{
char *pFile;
pFile = "winword.exe";
ShellExecute(NULL, "open", pFile, NULL, "c:\\program files\\microsoft office\\office10", 0);
}
Keep on going ...
______________
{
char *pFile;
pFile = "winword.exe";
ShellExecute(NULL, "open", pFile, NULL, "c:\\program files\\microsoft office\\office10", 0);
}
Keep on going ...
______________
Ovo je C++ sintaksa, a meni treba direktno u delphi-u. Kako da ovo iskoristim u delphi-u?
Windows API se potpuno isto koristi i u Delphi-ju, bez problema. Evo, na primer:
Promenljive sa prefiksom lp su tipa String, a nShowCmd je Integer, ako se ne varam. Umesto prvog parametra može da stoji i nula, ako oćeš da eventualne greške odlaze na taj prozor. Typecast PChar je obavezan, osim ako niske ne prosleđuješ direktno (kroz zagradu, da tako kažem). Pogledaj ovu stranicu za detalje u vezi mogućih parametara.
Iako je ShellExecute univerzalno rešenje, ja ipak preporučujem CreateProcess ako pokrećeš samo aplikacije. Izvedba je možda malo komplikovanija, ali i nudi više mogućnosti...
Code:
ShellExecute(Self.Handle, PChar(lpOperation), PChar(lpFile), PChar(lpParams), PChar(lpDirectory), nShowCmd);
ShellExecute(Self.Handle, PChar(lpOperation), PChar(lpFile), PChar(lpParams), PChar(lpDirectory), nShowCmd);
Promenljive sa prefiksom lp su tipa String, a nShowCmd je Integer, ako se ne varam. Umesto prvog parametra može da stoji i nula, ako oćeš da eventualne greške odlaze na taj prozor. Typecast PChar je obavezan, osim ako niske ne prosleđuješ direktno (kroz zagradu, da tako kažem). Pogledaj ovu stranicu za detalje u vezi mogućih parametara.
Iako je ShellExecute univerzalno rešenje, ja ipak preporučujem CreateProcess ako pokrećeš samo aplikacije. Izvedba je možda malo komplikovanija, ali i nudi više mogućnosti...
Potpis
Yea, and from this day forth, a surface must be locked before beast or man can draw upon it!
Ako hocesh da startujesh neku aplikaciju mozesh i da koristish WinExeC funkciju
Mada preporucujem WinApi i ShellExecuteA
Code:
WinExec(PChar(path_to____exe),1) - za visible
WinExec(PChar(path_to____exe),0) - za hidden
WinExec(PChar(path_to____exe),1) - za visible
WinExec(PChar(path_to____exe),0) - za hidden
Mada preporucujem WinApi i ShellExecuteA
Potpis
Reversing Labs Forum - http://ap0x.jezgra.net/forum/
The Art Of Cracking - CD info - http://ap0x.jezgra.net/cd.html
RCE blog http://ap0x.blogspot.com
RCE tools http://ap0x.jezgra.net/programs_2.html
The Art Of Cracking - CD info - http://ap0x.jezgra.net/cd.html
RCE blog http://ap0x.blogspot.com
RCE tools http://ap0x.jezgra.net/programs_2.html
pa da, samo WinExec isto koristi shellExecute, a oba koriste CreateProcess koji je najmocniji za startovanje procesa tako da je svejedno. Za najjednostavnije primene nista ne fali WinExec-u :)
Potpis
U ActionManager imas standard action filerun i samo mu mjenjas filename koji hoces da startujes.
Reci ako nisi uspio da ponovim malo bolje.
Reci ako nisi uspio da ponovim malo bolje.
Potpis
Kovac