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 43 44 45 46 47 48 49 50
|
SHELLEXECUTEINFOA est une Structure
cbSize est un entier //Type C : DWORD
fMask est un entier sans signe //Type C : ULONG
hwnd est un entier système //Type C : HWND
lpVerb est un entier système //Type C : LPCSTR
lpFile est un entier système //Type C : LPCSTR
lpParameters est un entier système //Type C : LPCSTR
lpDirectory est un entier système //Type C : LPCSTR
nShow est un entier //Type C : int
hInstApp est un entier système //Type C : HINSTANCE
lpIDList est un entier système //Type C : LPVOID
lpClass est un entier système //Type C : LPCSTR
hkeyClass est un entier système //Type C : HKEY
dwHotKey est un entier //Type C : DWORD
hIcon est un entier système //Type C : HANDLE
hProcess est un entier système //Type C : HANDLE
FIN
local
bRes est un booléen
sVerb est une chaîne
sVerb = "open"
stSHELLEXECUTEINFOA est une SHELLEXECUTEINFOA
stSHELLEXECUTEINFOA.cbSize = Dimension(stSHELLEXECUTEINFOA)
stSHELLEXECUTEINFOA.fMask = 0x00000040//SEE_MASK_NOCLOSEPROCESS
stSHELLEXECUTEINFOA.hwnd = Handle()
stSHELLEXECUTEINFOA.lpVerb = &sVerb
stSHELLEXECUTEINFOA.lpFile = &sExecutable
stSHELLEXECUTEINFOA.nShow = 5
stSHELLEXECUTEINFOA.lpParameters = &sParametres
stSHELLEXECUTEINFOA.lpDirectory = Null
//https://msdn.microsoft.com/en-us/library/windows/desktop/bb759784(v=vs.85).aspx
bRes = API("SHELL32","ShellExecuteExA",&stSHELLEXECUTEINFOA)
SI bRes = Vrai ALORS
lpExitCode est un entier système // Type C :LPDWORD
BOUCLE
//https://msdn.microsoft.com/fr-fr/library/windows/desktop/ms683189(v=vs.85).aspx
bRes = API("KERNEL32","GetExitCodeProcess",stSHELLEXECUTEINFOA.hProcess,&lpExitCode)
SI bRes = Faux _OU_ lpExitCode <> 259 ALORS//259 = STILL_ACTIVE
SORTIR
FIN
Multitâche(-100)
FIN
FIN
Info("Appli fermée !") |
Partager