防止程序重复执行:通过类名或窗口名
发布日期:2021-06-28 21:21:35 浏览次数:2 分类:技术文章

本文共 497 字,大约阅读时间需要 1 分钟。

在程序初始化前,检查同类名或是同窗口名的程序是否执行,如果有执行,则强制退出程序。

在项目头文件中加入代码,需要引用Winapi.Windows

示例:

program Project1;

uses

  Vcl.Forms,
  Winapi.Windows,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin

  //如果使用类名,改为FindWindow(PChar('TForm1'),nil)
  //TForm1是主窗体类名,Form1是主窗体标题
  if FindWindow(nil,'Form1') <> 0 then
  begin
    MessageBox(0,'该程序正在执行中,不能重复执行!','提示',MB_OK + MB_ICONINFORMATION);
    Halt(0);  //强制退出
  end;

  Application.Initialize;

  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

转载地址:https://blog.csdn.net/yanjinrong/article/details/107300062 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:访问其它单元类的保护属性
下一篇:通过类名或窗口名判断程序是否已执行

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月29日 23时09分19秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

快速上手!华为大神花费5个月打造的这份714页学习笔记系列!算法太TM重要了 2019-04-29
快速从入门到精通!2021最新Android知识体系总结,技术详细介绍 2019-04-29
成为一名合格Android架构师,一文带你搞懂Android多线程Handler,成功拿下大厂offer 2019-04-29
我总结了24家大厂100份面试题,2021年Android高级面试题,讲的明明白白! 2019-04-29
最新整理《Android架构师面试题解析大全》,深度解析跳槽从开始到结束完整流程,面试建议 2019-04-29
泪目!带你全面解析Android框架体系架构view篇,年薪50W 2019-04-29
深入交流安卓!我在华为做Android外包的真实经历!不吃透都对不起自己 2019-04-29
深入浅出Android开发!2021Android目前最稳定和高效的UI适配方案!已拿到offer 2019-04-29
深入讲解Android!闭关在家37天“吃透”这份345页PDF,经典好文 2019-04-29
深度剖析原理!不同层级的Android开发者的不同行为,附答案 2019-04-29
温故而知新!Android学习路线指南,全套教学资料 2019-04-29
由浅入深!关于Android性能优化的几点建议,醍醐灌顶! 2019-04-29
直接上干货!学习Binder前必须要了解的知识点,跳槽薪资翻倍 2019-04-29
看完豁然开朗!腾讯+字节+阿里面经真题汇总,含泪整理面经 2019-04-29
真牛!从外包月薪5K到阿里月薪15K,先收藏了 2019-04-29
想自学Android的速来!一文带你搞懂Android多线程Handler,系列篇 2019-04-29
成为一名合格Android架构师,史上最全的《Android面试题及解析》,挥泪整理面经 2019-04-29
成为阿里P7移动架构师到底有多难?Android攒了一个月的面试题及解答,Android篇 2019-04-29
成为阿里P7移动架构师到底有多难?GitHub标星1w的安卓架构师必备技能,聪明人已经收藏了! 2019-04-29
手把手教你写!记录下我磕磕碰碰的三个月找工作经历,2年以上经验必看 2019-04-29