Witam, chciałbym aby po wpisaniu nazwy aplikacji w pole tekstowe i pewnego przycisku aplikacja się zamknęła. Mam funkcję do zamykania procesów
void killProcessByName(const char *filename)
{
HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPALL, NULL);
PROCESSENTRY32 pEntry;
pEntry.dwSize = sizeof (pEntry);
BOOL hRes = Process32First(hSnapShot, &pEntry);
while (hRes)
{
if (strcmp(pEntry.szExeFile, filename) == 0)
{
HANDLE hProcess = OpenProcess(PROCESS_TERMINATE, 0,
(DWORD) pEntry.th32ProcessID);
if (hProcess != NULL)
{
TerminateProcess(hProcess, 9);
CloseHandle(hProcess);
}
}
hRes = Process32Next(hSnapShot, &pEntry);
}
CloseHandle(hSnapShot);
}
Utworzone pole tekstowe oraz przycisk. Chciałem to zrobić w taki sposób, ale niestety on nie działa(wydaje mi się że typ danych się nie zgadza)
case WM_COMMAND:
if(( HWND ) lParam == g_hPrzycisk )
{
DWORD dlugosc = GetWindowTextLength( kontrolki );
LPSTR Bufor =( LPSTR ) GlobalAlloc( GPTR, dlugosc + 1 );
GetWindowText( kontrolki, Bufor, dlugosc + 1 );
killProcessByName(Bufor);
GlobalFree(Bufor);
}
break;