Delphi:程序自己删除自己,适用于任何windows版本(含源码)
Delphi:程序自己删除自己,适用于任何windows版本(含源码)
function Suicide: Boolean;
var
sei: TSHELLEXECUTEINFO;
szModule: PChar;
szComspec: PChar;
szParams: PChar;
begin
szModule := AllocMem(MAX_PATH);
szComspec := AllocMem(MAX_PATH);
szParams := AllocMem(MAX_PATH);
if ((GetModuleFileName(0,szModule,MAX_PATH)<>0) and
(GetShortPathName(szModule,szModule,MAX_PATH)<>0) and
(GetEnvironmentVariable('COMSPEC',szComspec,MAX_PATH)<>0)) then
begin
lstrcpy(szParams,'/c del ');
lstrcat(szParams, szModule);
sei.cbSize := sizeof(sei);
sei.Wnd := 0;
sei.lpVerb := 'Open';
sei.lpFile := szComspec;
sei.lpParameters := szParams;
sei.lpDirectory := 0;
sei.nShow := SW_HIDE;
sei.fMask := SEE_MASK_NOCLOSEPROCESS;
if (ShellExecuteEx(@sei)) then
begin
SetPriorityClass(sei.hProcess,HIGH_PRIORITY_CLASS);//IDLE_PRIORITY_CLASS);
SetPriorityClass( GetCurrentProcess(),
REALTIME_PRIORITY_CLASS);
SetThreadPriority( GetCurrentThread(),
THREAD_PRIORITY_TIME_CRITICAL);
SHChangeNotify(SHCNE_Delete,SHCNF_PATH,szModule,nil);
Result := True;
end
else
Result := False;
end
else
Result := False;
end;
转载于:https://www.cnblogs.com/bdccloudy/p/7665189.html
Delphi:程序自己删除自己,适用于任何windows版本(含源码)相关推荐
- 微信小程序实现PDF预览功能——pdf.js(含源码解析)
文章目录 前言 一.pdf.js 是什么? 二.使用步骤 1.下载库文件 2.使用方式 微信小程序端--使用 web-view 标签 H5 端--使用 iframe 标签(使用vue框架) 3.更改源 ...
- Flutter教程之 02 Flutter 桌面程序开发入门教程运行hello world (教程含源码)
文章目的 我很高兴 Flutter 来到桌面应用程序开发,当然,这只是一个开始,但你今天已经可以尝试了. 我想向您介绍如何使用基于macOS的 Flutter 教程编写您的第一个桌面应用程序. 1.开 ...
- Delphi程序自删除
总结了一下Delphi程序自删除的几种方法 program Project1; //方法一 uses Windows; function WinExec(lpCmdline: PAnsiChar ...
- android源码下载过程的一些注意事项,windows下载android源码
网上目前有很多下载android源码的方法,在linux下基本上用 repo 脚本,先repo init 然后在 repo sync一下 最后提取的时候的 使用 repo sync -l 一下. 所有 ...
- freeswitch源码编译windows_【Thrift】Windows编译Thrift源码及其依赖库
背景 Windows下thrift的编译还挺麻烦的,故在此记录编译thrift的时候的一些坑(2019-11-13) 第三方库(boost.libevent.openssl) 问题一:vcpkg巨慢, ...
- gitlab windows安装_【Thrift】Windows编译Thrift源码及其依赖库
背景 Windows下thrift的编译还挺麻烦的,故在此记录编译thrift的时候的一些坑(2019-11-13) 第三方库(boost.libevent.openssl) 问题一:vcpkg巨慢, ...
- 程序员如何用“心“表白(结尾附源码)
写在前面:博主是一只经过实战开发历练后投身培训事业的"小山猪",昵称取自动画片<狮子王>中的"彭彭",总是以乐观.积极的心态对待周边的事物.本人的技 ...
- C语言实现单列表删除singly link list deletion(附完整源码)
实现单列表删除singly link list deletion node结构体 # 单列表删除singly link list deletion的完整源码(定义,实现,main函数测试) node结 ...
- 抖音小程序基础之 目前提供哪些API(教程含源码)
抖音小程序基础之 目前提供哪些API(教程含源码) 小程序开发框架提供丰富的 字节跳动宿主 原生 API,可以方便的调起 字节跳动宿主 提供的能力,如获取系统信息等.详细介绍请参考 API 文档. 通 ...
最新文章
- php$后面加点有什么用,css和js后加问号和数字有什么用
- 微信支付分-支付失败原因总结
- java sox语音_Sox语音转换的相关知识
- mysql 查询某一主键在那些表中中被设置为外键了
- 【数据结构与算法】二维Kd树的Java实现
- rm -rf * -bash: /bin/rm: 参数列表过长
- Linux下安装Beego:go install: cannot install cross-compiled binaries when GOBIN is set
- 2.尽量用const, enum, inline代替#define -- Prefer const, enum, inline to #define.
- 博客园设置访问统计功能-by beanmoon
- Exchange常见问题大全
- 凸优化第四章凸优化问题 4.5 几何规划
- 如何认识会计科目,看懂财务报表
- 移动硬盘插入提示需要格式化RAW_分区变成RAW格式怎么办?手把手教你解决方法...
- “十三五”公共安全规划涉及哪些安防概念?
- S5P4418裸机之SDIO程序
- python中布尔类型的值包括_Python 布尔值(Booleans)
- JS实现下落的树叶特效
- Minio分布式集群部署(Swarm)
- andorid Telephony 整体介绍
- linux中nobody添加所有权限,LINUX用户权限问题(nobody用户删除文件)
热门文章
- python是什么语言开发的-少儿编程有什么好处?儿童编程课程学习Python的4大原因...
- 自学python找工作工资-大四应届毕业生,学了两个月Python,找工作感觉好难啊?...
- python3.6.5安装-linux安装python3.6.5
- python入门自学-你是如何自学 Python 的?
- 树莓派python编程自学-两个简易的树莓派初学者Python程序
- 儿童编程软件python-Python编程工具pycharm的使用
- 电脑安装python步骤-windows10系统安装python的详细步骤
- python和java哪个-Java和Python现在都很热门,哪个更有前途?
- python面试-Python面试
- c+和python的区别-与C ++相比,Python中方法和函数之间的差异