怎样让程序自杀的?
程序自杀是一个比较热门的话题,不过好像没有一个完美的解决方案,我只看到 cuteftp pro真正做到了!
我找的在XP下都不可以用?
程序自杀是一个比较热门的话题,不过好像没有一个完美的解决方案,我只看到 cuteftp pro真正做到了!
我找的在XP下都不可以用?
解决方案 »
- 用MFC做界面太难了,搞死我了,前辈们有何建议吗?
- 关于浮点数转换成十六进制的问题!!!
- 我在Webbrowser 中添加了IDocHostUIHandler 接口,什么时候会激活GetOptionKeyPath 方法
- CListCtrl的问题,我想改变某行字体的颜色,前面的CheckBox怎么办?
- 在关闭窗口前检验窗口的数据有效性,如果无效怎么控制窗口不关闭而提示用户修改?
- 诡异的ado初始化问题,高手帮忙
- CFile对象文件操作完成后如何释放内存缓冲区??帮忙啊,很急~~
- 如何隐藏 List-view Item
- 关于函数的返回值,大家会诊一下这个怪问题(有些难度,高手,老手请进)。
- 有关bitmap(*.bmp或在内存中的数据)传输的问题
- 重分!!!CImageList中如何使24位bmp透明?
- 是用什么方法能够改变系统鼠标!
BOOL SelfDelete()
{
TCHAR szModule [MAX_PATH],
szComspec[MAX_PATH],
szParams [MAX_PATH]; // get file path names:
if((GetModuleFileName(0,szModule,MAX_PATH)!=0) &&
(GetShortPathName(szModule,szModule,MAX_PATH)!=0) &&
(GetEnvironmentVariable("COMSPEC",szComspec,MAX_PATH)!=0))
{
// set command shell parameters
lstrcpy(szParams," /c del ");
lstrcat(szParams, szModule);
lstrcat(szParams, " > nul");
lstrcat(szComspec, szParams);
// set struct members
STARTUPINFO si={0};
PROCESS_INFORMATION pi={0};
si.cb = sizeof(si);
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_HIDE; // increase resource allocation to program
SetPriorityClass(GetCurrentProcess(),
REALTIME_PRIORITY_CLASS);
SetThreadPriority(GetCurrentThread(),
THREAD_PRIORITY_TIME_CRITICAL); // invoke command shell
if(CreateProcess(0, szComspec, 0, 0, 0,CREATE_SUSPENDED|
DETACHED_PROCESS, 0, 0, &si, &pi))
{
// suppress command shell process until program exits
SetPriorityClass(pi.hProcess,IDLE_PRIORITY_CLASS);
SetThreadPriority(pi.hThread,THREAD_PRIORITY_IDLE); // resume shell process with new low priority
ResumeThread(pi.hThread); // everything seemed to work
return TRUE;
}
else // if error, normalize allocation
{
SetPriorityClass(GetCurrentProcess(),
NORMAL_PRIORITY_CLASS);
SetThreadPriority(GetCurrentThread(),
THREAD_PRIORITY_NORMAL);
}
}
return FALSE;
}int WINAPI WinMain(HINSTANCE h, HINSTANCE b, LPSTR psz, int n)
{
SelfDelete();
return(0);
}
一是 FILE_FLAG_DELETE_ON_CLOSE
二是 那个 asm 的 UnmapViewOfFile 的巧妙方法。
那个asm的UnmapViewOfFile 只能用于Win2000。
XP HOME 通过
2000 通过
就是这个,不过是英文的。
不过你的想法好!
具体的代码忘了,不好意思:-(
不过到google可以找到的