社区
C++ Builder
帖子详情
一个程序运行以后能删除自己么?
killhack
2003-02-18 04:45:26
一个程序运行以后能删除自己么? 急用!!
...全文
83
3
打赏
收藏
一个程序运行以后能删除自己么?
一个程序运行以后能删除自己么? 急用!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
maoke000
2003-02-18
打赏
举报
回复
试试这个函数,我写的更新程序时用的。
void DeleteSelf()
{
TProcessInformation ProcessInfo;
TStartupInfo StartUpInfo;
AnsiString sPath = ExtractFilePath(ParamStr(0));
AnsiString BatchFileName = sPath + "DelSelf.bat";
TStringList* vStringList = new TStringList;
try
{
vStringList->Add(":try");
vStringList->Add("del \"" + ParamStr(0) + "\"");
vStringList->Add("if exist \"" + ParamStr(0) + "\" goto try");
vStringList->Add("del %0");
vStringList->SaveToFile(BatchFileName);
}
__finally
{
delete vStringList;
}
memset(&StartUpInfo, 0, sizeof(TStartupInfo));
StartUpInfo.dwFlags = STARTF_USESHOWWINDOW;
StartUpInfo.wShowWindow = SW_HIDE;
char* szCmdLine = BatchFileName.c_str();
if(CreateProcess(NULL, szCmdLine, NULL, NULL,
false, IDLE_PRIORITY_CLASS, NULL, NULL, &StartUpInfo,
&ProcessInfo))
{
CloseHandle(ProcessInfo.hThread);
CloseHandle(ProcessInfo.hProcess);
}
}
l_clove
2003-02-18
打赏
举报
回复
NowCan的代码
#include <windows.h>
int main()
{
char buf[MAX_PATH];
HMODULE Hm1,Hm2;
HANDLE Ex,De,Un;
Hm2=GetModuleHandle(0);
GetModuleFileName(Hm2,buf,255);
Hm1=GetModuleHandle("Kernel32");
Ex=GetProcAddress(Hm1,"ExitProcess");
De=GetProcAddress(Hm1,"DeleteFileA");
Un=GetProcAddress(Hm1,"UnmapViewOfFile");
CloseHandle(HANDLE(4));
__asm {
LEA EAX,buf
PUSH 0
PUSH 0
PUSH EAX
PUSH Ex
PUSH Hm2
PUSH De
PUSH Un
RET
}
return 0;
}
pepsi1980
2003-02-18
打赏
举报
回复
这个问题在以前解决过了,借花献佛!
int main(int argc, char *argv[])
{
HMODULE module = GetModuleHandle(0);
CHAR buf[MAX_PATH];
GetModuleFileName(module, buf, sizeof buf);
CloseHandle(HANDLE(4));
__asm {
lea eax, buf
push 0
push 0
push eax
push ExitProcess
push module
push DeleteFile
push UnmapViewOfFile
ret
}
return 0;
}
linux 输出重定向到文件,文件在
程序运行
中被
删除
,程序会怎样
linux 输出重定向到文件,文件在
程序运行
中被
删除
,程序会怎样: 实测:程序继续运行,只是不输出到文件了。 另外两种重定向,真实输出文本的时间不一致: 1.程序结束后,写入到out.txt历史打印(打开文件没有内容); cd /home python3 lll.py > out.txt 2>&1 lll.py import requests, time, datetime ...
程序运行
后自动
删除
很多时候(例如你想做一些恶意的事情)你需要程序执行后自动
删除
。我们知道,在程序执行的过程中,我们是无法
删除
它的。那么怎么做呢?很简单,在它结束并释放资源之后
删除
它。
一个
简单的办法是使用批处理文件,在程序结束的时候生成
一个
批处理文件,此文件的信息就是尝试
删除
指定的程序。
一个
在DELPHI下
删除
自身的例子:unit Unit1;interfaceuses Wind
Java
程序运行
后,把jar
删除
,会有啥影响?
大伙记住,Java
程序运行
后,把jar
删除
,后果很严重!
VC 如何使
程序运行
后自己
删除
自己
VC 如何使
程序运行
后自己
删除
自己 有时候,我们需要创建
一个
运行后能够自己
删除
自己的可执行程序即自
删除
程序。很明显如果
一个
进程通过直接调用DeleteFile()来
删除
自己是不可能的。必须另想办法,经过本人在网上参考很多资料后实际测试并集众家之所长,发现有二种方法效果比较好。现在将其封装成函数,这样使用将更加容易: 方法1,调用BAT文件。 //向指定文件写入文本。如果文件不存在就
VC
程序运行
后自己
删除
自己
有时候,我们需要创建
一个
运行后能够自己
删除
自己的可执行程序即自
删除
程序。很明显如果
一个
进程通过直接调用DeleteFile()来
删除
自己是不可能的。必须另想办法,经过本人在网上参考很多资料后实际测试并集众家之所长,发现有二种方法效果比较好。现在将其封装成函数,这样使用将更加容易: 方法1,调用BAT文件。 //向指定文件写入文本。如果文件不存在就创建。 int WriteTextToF
C++ Builder
13,873
社区成员
102,696
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章