Jak zakończyć działanie procesu funkcją TerminateProcess w WinAPI?

0

Witam, potrzebuję pomocy z funkcją Terminateprocess() w Winapi.

Otwieram zewnętrzny program w taki sposób:

	
if( !CreateProcess( NULL,   // No module name (use command line)
        szCmdline,        // Command line
        NULL,           // Process handle not inheritable
        NULL,           // Thread handle not inheritable
        FALSE,          // Set handle inheritance to FALSE
        0,              // No creation flags
        NULL,           // Use parent's environment block
        NULL,           // Use parent's starting directory 
        &si,            // Pointer to STARTUPINFO structure
        &pi )           // Pointer to PROCESS_INFORMATION structure
    ) 
    {
        printf( "CreateProcess failed (%d).\n", GetLastError() );
        return 1;
    } 

I teraz chciałbym go zakończyć. Wiem, że potrzebuję uchwytu do procesu, ale w Winapi to mnie przerasta. :)
Jak takie coś wykonać?

0

Dodam jeszcze że może się okazać że nie potrzebujesz tylko uchwytu i od razu TerminateProcess w nowszych systemach będziesz musiał jeszcze użyć OpenProcess http://msdn.microsoft.com/en-us/library/windows/desktop/ms684320%28v=vs.85%29.aspx jako pierwszy parametr podać PROCESS_TERMINATE dopiero gdy ta funkcja się powiedzie wywołujesz TerminateProcess i ładnie zamykasz uchwyt uzyskany przez OpenProcess funkcją CloseHandle.

1 użytkowników online, w tym zalogowanych: 0, gości: 1