我的问题描述如下:
    在已经获得指定进程ID的情况下,如何关闭这个进程?我曾经写过这样的代码:
    //显示系统错误信息
void ShowFormatMessage(DWORD nErrCode)
{
LPVOID lpMsgBuf;
    FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |FORMAT_MESSAGE_FROM_SYSTEM | 
    FORMAT_MESSAGE_IGNORE_INSERTS, NULL,nErrCode,
    MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
    (LPTSTR) &lpMsgBuf,
    0,
    NULL 
);
// Process any inserts in lpMsgBuf.
// ...
// Display the string.
MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK | MB_ICONINFORMATION );
// Free the buffer.
LocalFree( lpMsgBuf );}
//通过进程ID去关闭指定的进程
BOOL WINAPI TerminateProcessById(DWORD dwProcessId)
{
    HANDLE hProcess=OpenProcess(PROCESS_TERMINATE,FALSE,dwProcessId);
    if(hProcess==NULL)
{
ShowFormatMessage(GetLastError());
return FALSE;
}    if(TerminateProcess(hProcess,-1)==0)
{
     ShowFormatMessage(GetLastError());
 return FALSE;
}
    
if(CloseHandle(hProcess)==0)
{
      ShowFormatMessage(GetLastError());
  return FALSE;
} return TRUE;
}
但在TerminateProcessById调用的时候总会出现系统错误提示!
请问各位大虾们有何高招帮助我解决这个问题,在下感激不尽!!