删除自身
来源:互联网 发布:8月份宏观经济数据 编辑:程序博客网 时间:2024/05/01 13:34
void DeleteMyself(){SHELLEXECUTEINFO sei; TCHAR szModule[MAX_PATH], szComspec[MAX_PATH], szParams[MAX_PATH]; //获取文件路径名 if((GetModuleFileName(0, szModule, MAX_PATH)!=0) && (GetShortPathName(szModule, szModule, MAX_PATH)!=0) && (GetEnvironmentVariable(_T("COMSPEC"), szComspec, MAX_PATH)!=0)) { //设置命令行参数。 lstrcpy(szParams, _T("/c del ")); lstrcat(szParams, szModule); lstrcat(szParams, _T(" > nul")); //初始化SHELLEXECUTEINFO结构成员 sei.cbSize = sizeof(sei);//设置类型大小。 //命令窗口进程句柄,ShellExecuteEx函数执行时设置。 sei.hwnd = 0; sei.lpVerb = _T("Open"); //执行动作为“打开执行”。 sei.lpFile = szComspec; //执行程序文件全路径名称。 sei.lpParameters = szParams; //执行参数。 sei.lpDirectory = 0; //显示方式,此处使用隐藏方式阻止出现命令窗口界面。 sei.nShow = SW_HIDE; //设置为SellExecuteEx函数结束后进程退出。 sei.fMask = SEE_MASK_NOCLOSEPROCESS; //创建执行命令窗口进程。 if(ShellExecuteEx(&sei)) { //设置命令行进程的执行级别为空闲执行,这使本程序有足够的时间从内存中退出。 SetPriorityClass(sei.hProcess, IDLE_PRIORITY_CLASS); //设置本程序进程的执行级别为实时执行,这本程序马上获取CPU执行权,快速退出。 SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS); SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL); //通知Windows资源浏览器,本程序文件已经被删除。 SHChangeNotify(SHCNE_DELETE,SHCNF_PATH, szModule, 0); //执行退出程序 EndDialog(0); } } }
0 0
- 自身删除自身
- 删除自身
- 删除程序自身
- C#程序删除自身
- 删除自身对象
- 删除自身的程序代码
- 删除程序自身
- 删除自身的文件
- exe删除自身
- C#程序删除自身
- hibernate 自身级联删除
- C#删除自身
- 删除应用程序自身的可执行文件
- 怎样通过bat删除自身
- BAT删除自身所在目录
- 删除应用程序自身的可执行文件
- VC 自身删除本程序
- 删除应用程序自身的可执行文件
- 二维数组中的查找
- ElasticSearch单机双实例的配置方法
- Bootstrap 插件
- Android学习-新闻客户端养成记(一)
- JQuery的遍历
- 删除自身
- STL sort快排
- 什么是Code-Behind技术?
- JAVA线程之生产者消费者问题
- 构成回文序列最少要增加多少字符
- LeetCodeOJ——2.Add Two Numbers
- java集合---hashMap
- 简单工厂
- activity的切换时候无动画