Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma hdrstop
- #pragma argsused
- #pragma comment (lib, "psapi.lib")
- #include <tchar.h>
- #include <stdio.h>
- #include "windows.h"
- #include <psapi.h>
- #include <stdio.h>
- DWORD GetProcessIdByName(char* lpProcessName)
- {
- // Obtain a list of the process.
- DWORD aProcesses[1024], cbNeeded, cProcesses;
- unsigned int i;
- if (!EnumProcesses (aProcesses, sizeof(aProcesses), &cbNeeded ))
- return 0;
- cProcesses = cbNeeded / sizeof(DWORD);
- char szProcessName[MAX_PATH] = "unknown";
- for (i = 0; i < cProcesses; i++)
- {
- HANDLE hProcess = OpenProcess (PROCESS_QUERY_INFORMATION |
- PROCESS_VM_READ,
- FALSE, aProcesses[i]);
- // Получить имя процесса.
- if ( hProcess )
- {
- HMODULE hMod;
- DWORD cbNeeded;
- if ( EnumProcessModules (hProcess, &hMod, sizeof(hMod),
- &cbNeeded) )
- {
- GetModuleBaseName (hProcess, hMod, szProcessName,
- sizeof(szProcessName));
- }
- }
- if(!lstrcmpi (szProcessName, lpProcessName))
- {
- CloseHandle (hProcess);
- return aProcesses[i];
- }
- CloseHandle (hProcess);
- }
- return NULL;
- }
- void Kill(char *szxProcName)
- {
- HANDLE hProcess;
- // Get the process ID by name
- DWORD dwProcID = GetProcessIdByName(szxProcName);
- // Открываем процесс для его закрытия
- hProcess = OpenProcess( PROCESS_TERMINATE, FALSE, dwProcID );
- if ( (INVALID_HANDLE_VALUE == hProcess) || (NULL == hProcess) )
- printf( "OpenProcess() failed, err = %lu\n", GetLastError() ); // Ошибка
- else
- {
- // kill process
- if ( ! TerminateProcess( hProcess, (DWORD) -1 ) )
- printf( "TerminateProcess() failed, err = %lu\n", GetLastError() );// Ошибка
- else
- puts( "killed." );
- // Закрываем дескриптор
- CloseHandle( hProcess );
- }
- }
- void main()
- {
- Kill("notepad++.exe");
- system("pause");
- }
- // Coded by Appo //
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement