惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
博客园 - Franky
GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
IT之家
IT之家
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
博客园_首页
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recent Announcements
Recent Announcements
Scott Helme
Scott Helme
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
C
CERT Recently Published Vulnerability Notes
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
L
LangChain Blog
L
LINUX DO - 最新话题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Hacker News: Front Page
MyScale Blog
MyScale Blog
P
Palo Alto Networks Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
AI
AI
T
Troy Hunt's Blog
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
S
Secure Thoughts
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
S
Security @ Cisco Blogs
Cloudbric
Cloudbric
E
Exploit-DB.com RSS Feed
Attack and Defense Labs
Attack and Defense Labs

博客园 - 人淡如菊

Microsoft SQL Server基础:数据库触发器创建、执行、修改、删除 SQL分组查询 如何在IIS7下配置ASP+ACCESS环境 电脑开机进入不了XP界面 IBM X系列笔记本通过U盘安装系统方法全攻略 sql server重复数据处理 DELPHI 访问其它电脑文件(局域网) 如何得到动态链接库的输出函数(delphi tdump.exe) 电脑小子的新婚夜 笔记本维修小插曲 屏幕不亮处理方式 2007中国发烧盘点之作《天路》发烧女声版 电脑电源品牌介绍 谈谈一些知名的电源厂家 - 人淡如菊 无法删除xxx文档/文件夹:找不到指定的路径。请确定指定的路径是否正确 常用电子技术网 各大品牌液晶显示器工程模式 一台电脑安装多个(虚拟)网卡问题 Windows程序中的字符编码 Emeditor 与正则表达式 DELPHI 通用的数据记录复制过程
delphi 笔记
人淡如菊 · 2013-06-15 · via 博客园 - 人淡如菊

这种方法的原理是程序运行时先查看自己是不是在特定目录下,如果是就继续运行,如果不是就把自己拷贝到特定目录下,然后运行新程序,再退出旧程序.
  打开Delphi,新建一个工程,在窗口的Create事件中写代码:
  procedureTForm1.FormCreate(Sender:TObject);
  var
    myname:string;
  begin
  myname:=ExtractFilename(Application.Exename);//获得文件名
  ifapplication.Exename<>GetWindir+mynamethen//如果文件不是在Windows\System\那么..
  begin
  copyfile(pchar(application.Exename),pchar(GetWindir+myname),False);{将自己拷贝到Windows\System\下}
  Winexec(pchar(GetWindir+myname),sw_hide);//运行Windows\System\下的新文件
  application.Terminate;//退出
  end;
  end;
  其中GetWinDir是自定义函数,起功能是找出Windows\System\的路径.
  function GetWinDir:String;
  var
  Buf:array[0..MAX_PATH]ofchar;
  begin
  GetSystemDirectory(Buf,MAX_PATH);
  Result:=Buf;
  ifResult[Length(Result)]<>&#39;\&#39;thenResult:=Result+&#39;\&#39;;
  end;
  如何能使程序能在windows启动时自动启动?
  为了程序能在Windows每次启动时自动运行,可以通过六种途径来实现.“冰河”用注册表的方式.
  加入Registry单元,改写上面的窗口Create事件,改写后的程序如下:
  procedureTForm1.FormCreate(Sender:TObject);
  constK=&#39;\Software\Microsoft\Windows\CurrentVersion\RunServices&#39;;
  varmyname:string;
  begin
  {WritebyLovejingtao,http://Lovejingtao.126.com,Lovejingtao@21cn.com}
  myname:=ExtractFilename(Application.Exename);//获得文件名
  ifapplication.Exename<>GetWindir+mynamethen//如果文件不是在Windows\System\那么..
  begin
  copyfile(pchar(application.Exename),pchar(GetWindir+myname),False);{//将自己拷贝到Windows\System\下}
  Winexec(pchar(GetWindir+myname),sw_hide);//运行Windows\System\下的新文件
  application.Terminate;//退出
  end;
  withTRegistry.Createdo
  try
  RootKey:=HKEY_LOCAL_MACHINE;
  OpenKey(K,TRUE);
  WriteString(&#39;syspler&#39;,application.ExeName);
  finally
  free;
  end;
  end;

posted on 2013-06-15 11:05  人淡如菊  阅读(223)  评论()    收藏  举报