1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| Program EXECEXPLORER;
Uses Strings, Windows;
Var CheminExplorer : Array [0..MAX_PATH] of Char;
Buffer : Array [0..MAX_PATH] of Char;
CheminLocal : Array [0..MAX_PATH] of Char;
StartupInfo : tStartupInfo;
ProcessInformation : tProcessInformation;
Begin
(* Détermination du dossier de l'explorateur *)
Write('D'#233'termination de la variable d''environnement %SystemRoot% : ');
if GetEnvironmentVariable('SystemRoot',CheminExplorer,SizeOf(CheminExplorer)) > 0
then
begin
WriteLn(CheminExplorer);
Write('Ex'#233'cution de Explorer.exe : ');
(* Détermination du dossier courant *)
StrCat(CheminExplorer,'\Explorer.exe');
GetCurrentDirectory(SizeOf(Buffer),Buffer);
StrCopy(CheminLocal,'"');
StrCat(CheminLocal,Buffer);
StrCat(CheminLocal,'"');
(* Structure réglant les propriétés du processus exécuté *)
FillChar(StartupInfo,SizeOf(StartupInfo),0);
StartupInfo.cb := SizeOf(StartupInfo);
(* Structure recevant des infos du nouveau processus *)
FillChar(ProcessInformation,SizeOf(ProcessInformation),0);
(* Exécution de l'explorateur *)
if CreateProcess(CheminExplorer,CheminLocal,
Nil,Nil,False,NORMAL_PRIORITY_CLASS,Nil,Nil,
StartupInfo,ProcessInformation)
then
WriteLn('OK')
else
WriteLn('Erreur');
end
else
WriteLn('Erreur');
ReadLn;
End. |
Partager