资源简介
c++实现自我删除
代码片段和文件信息
#include
#include
#include
//#include
//用printf输出中文string会出现乱码
//从完整路径名中提取纯文件名
std::string getName(char ch[])
{
//printf(“ch name:\n %s\n“ch);
std::string s(ch);
//printf(“s name: %s\n“s);
//std::cout<<“scout :“< //注意双斜杠,文件名不能有‘\‘
int seek = s.find_last_of(‘\\‘);
//printf(“seek: %d\n“seek);
s = s.substr(seek+1s.length()-seek-1);
return s;
}
int main()
{
char strName[MAX_PATH];
//这将返回自身应用程序句柄
HMODULE hModule = GetModuleHandle(NULL);
//得到自身完整的路径
GetModuleFileName(hModulestrNamesizeof(strName));
/*
HMODULE表示模块句柄
Handle 是代表系统的内核对象,如文件句柄,线程句柄,进程句柄。
HMODULE 是代表应用程序载入的模块,win32系统下通常是被载入模块的线性地址。
HINSTANCE 在win32下与HMODULE是相同的东西,在Win32下还存在主要是因为win16
程序使用HINSTANCE来区别task。
HWND 是窗口句柄
*/
//printf(“file name:\n %s\n“strName);
std::string strTemp = getName(strName);
char *ch = (char*)strTemp.c_str();
printf(“file name: %s\n“ch);
//实现批处理
FILE *fp;
fp = fopen(“selfdel.bat““w+“);
fprintf(fp“@echo off\r\n“);
fprintf(fp“:start\r\n\tif not exist %s goto done\r\n“ch);
fprintf(fp“\tdel /f/q %s\r\n“ch);
fprintf(fp“goto start\r\n“);
fprintf(fp“:done\r\n“);
//这里要两个百分号
fprintf(fp“\tdel /f/q %%0 \r\n“);
// /f强制删除只读文件
// /q指定静音状态。不提示您确认删除。
// %0代表自身
fclose(fp);
//隐藏运行批处理
ShellExecute(NULL“open““selfdel.bat“NULLNULLSW_HIDE);
/*
注意事项:使用该函数时,需添加该头文件:[1]#include
ShellExecute函数原型及参数含义如下:
ShellExecute(
hWnd: HWND; {指定父窗口句柄}
Operation: PChar; {指定动作 譬如: open、print、edit、explore、find[2]}
FileName: PChar; {指定要打开的文件或程序}
Parameters: PChar; {给要打开的程序指定参数; 如果打开的是文件这里应该是 nil}
Directory: PChar; {缺省目录}
ShowCmd: Integer {打开选项}
): HINST;
ShowCmd 参数可选值:SW_HIDE = 0; {隐藏}
SW_SHOWNORMAL = 1; {用最近的大小和位置显示 激活}
SW_NORMAL = 1; {同 SW_SHOWNORMAL}
SW_SHOWMINIMIZED = 2; {最小化 激活}
SW_SHOWMAXIMIZED = 3; {最大化 激活}
SW_MAXIMIZE = 3; {同 SW_SHOWMAXIMIZED}
SW_SHOWNOACTIVATE = 4; {用最近的大小和位置显示 不激活}
SW_SHOW = 5; {同 SW_SHOWNORMAL}
SW_MINIMIZE = 6; {最小化 不激活}
SW_SHOWMINNOACTIVE = 7; {同 SW_MINIMIZE}
SW_SHOWNA = 8; {同 SW_SHOWNOACTIVATE}
SW_RESTORE = 9; {同 SW_SHOWNORMAL}
SW_SHOWDEFAULT = 10; {同 SW_SHOWNORMAL}
SW_MAX = 10; {同 SW_SHOWNORMAL}
格式一:http://网站域名。
如:ShellExecute(Handle “open“ “http:// ;
www.neu.edu.cn“ NULL NULL SW_SHOWNORMAL);
格式二:http://网站域名/网页文件名。
如:ShellExecute(Handle “open““ http:// ;
www.neu.edu.cn/default.htm“NULLNULL
SW_SHOWNORMAL);
*/
system(“pause“);
exit(1);
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3939 2016-06-24 17:36 c++实现自我删除\3_批处理实现自删除\3_批处理实现自删除.vcxproj
文件 942 2013-03-28 13:51 c++实现自我删除\3_批处理实现自删除\3_批处理实现自删除.vcxproj.filters
文件 143 2013-03-28 13:35 c++实现自我删除\3_批处理实现自删除\3_批处理实现自删除.vcxproj.user
文件 2924 2016-06-24 17:37 c++实现自我删除\3_批处理实现自删除\main.cpp
文件 3020 2016-06-24 17:37 c++实现自我删除\3_批处理实现自删除\Release\3_批处理实现自删除.log
文件 780 2016-06-24 17:37 c++实现自我删除\3_批处理实现自删除\Release\cl.command.1.tlog
文件 20232 2016-06-24 17:37 c++实现自我删除\3_批处理实现自删除\Release\CL.read.1.tlog
文件 578 2016-06-24 17:37 c++实现自我删除\3_批处理实现自删除\Release\CL.write.1.tlog
文件 1638 2016-06-24 17:37 c++实现自我删除\3_批处理实现自删除\Release\li
文件 2900 2016-06-24 17:37 c++实现自我删除\3_批处理实现自删除\Release\li
文件 824 2016-06-24 17:37 c++实现自我删除\3_批处理实现自删除\Release\li
文件 727533 2016-06-24 17:37 c++实现自我删除\3_批处理实现自删除\Release\main.obj
文件 632 2016-06-24 17:37 c++实现自我删除\3_批处理实现自删除\Release\mt.command.1.tlog
文件 814 2016-06-24 17:37 c++实现自我删除\3_批处理实现自删除\Release\mt.read.1.tlog
文件 442 2016-06-24 17:37 c++实现自我删除\3_批处理实现自删除\Release\mt.write.1.tlog
文件 266240 2016-06-24 17:37 c++实现自我删除\3_批处理实现自删除\Release\vc100.pdb
文件 17256448 2016-06-24 18:11 c++实现自我删除\3_批处理实现自删除.sdf
文件 945 2013-03-28 13:35 c++实现自我删除\3_批处理实现自删除.sln
..A..H. 11776 2016-06-24 18:11 c++实现自我删除\3_批处理实现自删除.suo
文件 461824 2016-06-24 17:37 c++实现自我删除\Release\3_批处理实现自删除.pdb
目录 0 2019-01-03 10:36 c++实现自我删除\3_批处理实现自删除\Release
目录 0 2017-03-07 15:13 c++实现自我删除\ipch\3_批处理实现自删除-621f12de
目录 0 2019-01-03 10:36 c++实现自我删除\3_批处理实现自删除
目录 0 2019-01-03 10:36 c++实现自我删除\ipch
目录 0 2019-01-03 10:36 c++实现自我删除\Release
目录 0 2019-01-03 10:36 c++实现自我删除
----------- --------- ---------- ----- ----
18764574 26
- 上一篇:c++五子棋程序
- 下一篇:mysql-odbc5.1驱动包
相关资源
- c++五子棋程序
- C++控制台小游戏《突破重围》,有所
- 基于C++的虚拟串口通讯
- USB双向通信上位机VC++程序
- 台球游戏源代码
- C++ 实现IP端口扫描
- 宾馆管理系统(C++MFC)数据库课程设
- 小游戏开发教程 c++版
- 谭浩强C++程序设计源代码.rar
- 模拟生态系统
- c++标准库STL手册
- sniffer 源码
- C++可视化MFC课设_五子棋带报告
- 高级语言C++程序设计实验指导
- 图书馆管理系统C++243872
- 用C++实现的一个学生信息管理系统
- VC++6.0 双人五子棋游戏
- Borland C/C++ 3.1精简版
- 经典的图书管理系统c++源代码
- Boost Graph Library:The User Guide and Referen
- BT协议实现c++
- VC6.0中缺少VC98\\\\CRT\\\\SRC文件夹的--
- 学生成绩管理系统C++源码
- VC++运用OpenSSL实现对文件加密
- MFC_跑酷游戏小Demo
- 三维重建VC++
- 用C++实现的聊天程序
- VC++ 对话框 滚轮 计算器
- C++语言释难解惑
- 基于UDP的简单可视化界面聊天程序c
评论
共有 条评论