Bonjour,
je voudrai fermer un process avec terminateprocess mais la fct ne marche pas et j'ai le code retour 6 : invalid process handle.
la création du process :
STARTUPINFO siStartupInfo;
SECURITY_ATTRIBUTES security;
memset(&siStartupInfo, 0, sizeof(siStartupInfo));
memset(&g_piProcessInfo, 0, sizeof(g_piProcessInfo));
siStartupInfo.cb = sizeof(siStartupInfo);
security.nLength = sizeof(SECURITY_ATTRIBUTES);
security.bInheritHandle = TRUE;
security.lpSecurityDescriptor = NULL;
if (!CreateProcess( NULL, "ServicesClavier.exe", &security, &security, TRUE, 0, NULL, NULL, &siStartupInfo, &g_piProcessInfo))
sa destruction :
hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
uProcess.dwSize = (DWORD) sizeof(PROCESSENTRY32);
r = Process32First(hSnapShot, &uProcess);
do
{
if ( strstr(uProcess.szExeFile, "ServicesClavier.exe") )
PID = (short) uProcess.th32ProcessID;
r = Process32Next(hSnapShot, &uProcess);
}
while ( r );
CloseHandle(hSnapShot);
if ( PID != 0)
{
hProcess = OpenProcess(PROCESS_TERMINATE, TRUE, (DWORD) PID);
WaitForSingleObject( hProcess, INFINITE );
}
if ( hProcess != NULL )
{
dwExitCode = TerminateProcess(hProcess,dwExitCode);
}
voila le OpenProcess me retourne tjr NULL et le getLastError retourne 6
Partager