我的程序如何判断Delphi是否正在运行?
发布时间:2020-12-15 03:49:47 所属栏目:大数据 来源:网络整理
导读:我听说一些自定义组件作者使用RTL例程来检查Delphi是否正在运行以设置共享软件限制.有谁知道这个例程是什么?检查明显的名称,如“DelphiRunning”或“IsDelphiRunning”并没有发现任何有用的东西. 解决方法 这里有两个不同的想法: – Delphi正在运行 – 应
我听说一些自定义组件作者使用RTL例程来检查Delphi是否正在运行以设置共享软件限制.有谁知道这个例程是什么?检查明显的名称,如“DelphiRunning”或“IsDelphiRunning”并没有发现任何有用的东西.
解决方法
这里有两个不同的想法:
– Delphi正在运行 – 应用程序在调试器下运行 测试Delphi是否正在运行的常用方法是检查是否存在具有特定类名的已知IDE Windows,如TAppBuilder或TPropertyInspector. 如果您想知道您的应用程序是否在调试器下运行,即通过IDE“运行”(F9)正常启动或在运行时连接到调试器,您只需要测试DebugHook全局变量. function IsDelphiRunning: Boolean; begin Result := (FindWindow('TAppBuilder',nil) > 0) and (FindWindow('TPropertyInspector','Object Inspector') > 0); end; function IsOrWasUnderDebugger: Boolean; begin Result := DebugHook <> 0; end; 如果目标是将组件的试用版本限制为在开发应用程序时使用,则两者都有缺陷: – 应用程序中可以包含具有正确类别名称/标题的隐藏窗口 – 可以在代码中手动设置DebugHook (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |