资源简介
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++头文件转delphi工具 + 源码
- 国际象棋的qt源代码
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- VC++MFC小游戏实例教程(实例)+MFC类库
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- C++17 In Detail
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
- FTP客户端源码(c++)
- c++ 画图(14Qt-XPS)
评论
共有 条评论