Soyez le premier à donner votre avis sur cette source.
Vue 13 949 fois - Téléchargée 743 fois
uses ShellApi; function LaunchAndWait(sFile: String; wShowWin: Word): Boolean; var cExe: array [0..255] of Char; sExe: string; pcFile: PChar; StartInfo: TStartupInfo; ProcessInfo: TProcessInformation; begin Result:=True; FindExecutable(PChar(ExtractFileName(sFile)), PChar(ExtractFilePath(sFile)), cExe); sExe:= string(cExe); if UpperCase(ExtractFileName(sExe))<>UpperCase(ExtractFileName(sFile)) then pcFile:=PChar(' "'+sFile+'"') else pcFile:=nil; ZeroMemory(@StartInfo, SizeOf(StartInfo)); with StartInfo do begin cb:=SizeOf(StartInfo); dwFlags:=STARTF_USESHOWWINDOW; wShowWindow:=wShowWin; end; if CreateProcess(PChar(sExe), pcFile, nil, nil, True, 0, nil, nil, StartInfo, ProcessInfo) then WaitForSingleObject(ProcessInfo.hProcess, INFINITE) else Result:=False; end;
j'ai fait une petite modif a ta fonction pour les paramètre car j'avais essayer de lui transmettre mais j'avais un soucis :s
le code que je vais te poster le résoud :)
function LaunchAndWait(sFile,sParam: String; wShowWin: Word): Boolean;
var
cExe: array [0..255] of Char;
StartInfo: TStartupInfo;
ProcessInfo: TProcessInformation;
begin
Result:=True;
FindExecutable(PChar(ExtractFileName(sFile)), PChar(ExtractFilePath(sFile)), cExe);
ZeroMemory(@StartInfo, SizeOf(StartInfo));
with StartInfo do begin
cb:=SizeOf(StartInfo);
dwFlags:=STARTF_USESHOWWINDOW;
wShowWindow:=wShowWin;
end;
if CreateProcess(cExe, pchar(sparam), nil, nil, True, 0, nil, nil, StartInfo, ProcessInfo)
then WaitForSingleObject(ProcessInfo.hProcess, INFINITE)
else Result:=False;
end;
un peut de code en moin mais les paramètres passe nickel la :p
pourrait-on expliquer cette function ,??!!
Merci.
Juste une remarque c'est bien de dire que la source n'est pas de toi mais ca serait sympa de donner le nom ou le lien de l'auteur.
Note : 9/10
Bonne prog,
JMP77.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.