一个程序运行以后能删除自己么?

killhack 2003-02-18 04:45:26
一个程序运行以后能删除自己么? 急用!!
...全文
60 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;
}


内容概要:本文围绕基于改进遗传算法的电力系统无功优化问题展开研究,以IEEE30节点系统作为标准测试平台,采用Matlab进行算法实现与仿真分析。研究构建了以最小化有功网损和电压偏差为核心的多目标优化模型,综合考虑了系统运行的各种等式与不等式约束条件。针对传统遗传算法存在的早熟收敛和收敛速度慢等问题,对算法的编码方式、选择、交叉和变异等关键操作进行了针对性改进,有效提升了算法的全局搜索能力和优化精度。通过仿真实验验证了改进算法在降低系统网损、改善电压质量以及提升系统运行经济性和稳定性方面的显著优势,为电力系统无功优化提供了有效的解决方案和技术参考。; 适合人群:具备电力系统分析、优化理论基础及Matlab编程能力的研究生、高校科研人员以及从事电力系统规划、运行与控制的工程技术人员。; 使用场景及目标:①深入理解电力系统无功优化的数学建模方法与工程意义;②掌握智能优化算法(特别是改进遗传算法)在复杂非线性工程问题中的设计、实现与应用技巧;③为实际电力网络的节能降耗、电压稳定控制及安全经济运行提供可行的优化策略与仿真验证手段。; 阅读建议:学习者应结合提供的Matlab代码,重点剖析目标函数的构建逻辑、约束条件的处理方法(如罚函数法)以及遗传算子的具体改进策略,建议通过调整种群规模、迭代次数、交叉与变异概率等关键参数进行对比实验,以深入探究算法性能与参数设置之间的内在关系。

13,874

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧