c++实现一个自杀程序

简介:

如何实现一个程序,让他运行后删除自己?这是个有趣的问题,在网上找到了一个work的方法:

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);

exit(0)

 

这里的关键在于两个,一个是将当前的进程优先级设为实时,保证他在启动下面的指令前先完成退出,第二个事利用cmd,exe执行一个shell指令删除当前文件

目录
相关文章
|
3月前
|
C++
C++ 根据程序运行的时间和cpu频率来计算在另外的cpu上运行所花的时间
C++ 根据程序运行的时间和cpu频率来计算在另外的cpu上运行所花的时间
44 0
|
1月前
|
存储 程序员 编译器
简述 C、C++程序编译的内存分配情况
在C和C++程序编译过程中,内存被划分为几个区域进行分配:代码区存储常量和执行指令;全局/静态变量区存放全局变量及静态变量;栈区管理函数参数、局部变量等;堆区则用于动态分配内存,由程序员控制释放,共同支撑着程序运行时的数据存储与处理需求。
102 21
|
2月前
|
C++
【C++基础】程序流程结构详解
这篇文章详细介绍了C++中程序流程的三种基本结构:顺序结构、选择结构和循环结构,包括if语句、三目运算符、switch语句、while循环、do…while循环、for循环以及跳转语句break、continue和goto的使用和示例。
45 2
|
3月前
|
PHP C++ Python
右手坐标系,空间点绕轴旋转公式&程序(Python和C++程序)
右手坐标系,空间点绕轴旋转公式&程序(Python和C++程序)
63 0
|
3月前
|
C++
c++学习笔记03 程序流程结构
C++学习笔记,主要介绍了程序流程结构,包括顺序结构、选择结构和循环结构。选择结构中详细解释了if语句、三目运算符和switch语句的用法和注意事项。循环结构部分则涵盖了while循环、do-while循环和for循环的语法和使用技巧。此外,还介绍了跳转语句,包括break、continue和goto语句的用途和用法。
35 0
|
5月前
|
存储 算法 编译器
程序与技术分享:C++模板元编程简介
程序与技术分享:C++模板元编程简介
44 0
|
5月前
|
存储 JavaScript 前端开发
程序与技术分享:C++程序设计实验考试准备资料(2019级秋学期)
程序与技术分享:C++程序设计实验考试准备资料(2019级秋学期)
|
5月前
|
自然语言处理 C语言 C++
程序与技术分享:C++写一个简单的解析器(分析C语言)
程序与技术分享:C++写一个简单的解析器(分析C语言)
|
5月前
|
存储 算法 编译器
程序与技术分享:C++模板元编程学习笔记
程序与技术分享:C++模板元编程学习笔记