• 大小: 3.74MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-05
  • 语言: C/C++
  • 标签: c++  

资源简介

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\link.command.1.tlog

     文件       2900  2016-06-24 17:37  c++实现自我删除\3_批处理实现自删除\Release\link.read.1.tlog

     文件        824  2016-06-24 17:37  c++实现自我删除\3_批处理实现自删除\Release\link.write.1.tlog

     文件     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


评论

共有 条评论