1. 程式人生 > >c++刪除自身程式

c++刪除自身程式


void DeleteApplicationSelf()
{
       char szCommandLine[MAX_PATH + 10];
 
       //設定本程序為實時執行,快速退出。
       SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS);
       SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL);
       //通知資源管理器不顯示本程式,當然如果程式沒有真正的刪除,重新整理資源管理器後仍會顯示出來的。
    SHChangeNotify(SHCNE_DELETE, SHCNF_PATH, _pgmptr, NULL);
      
       //呼叫cmd傳入引數以刪除自己
       sprintf(szCommandLine, "/c del /q %s", _pgmptr);
       ShellExecute(NULL, "open", "cmd.exe", szCommandLine, NULL, SW_HIDE);
 
       ExitProcess(0);
}