delphi - 如何检测代码是否从 IDE 运行

标签 delphi ide

我有以下函数,用于检查我的代码是否从 IDE 运行 真正令人沮丧的是,即使代码是从 IDE 运行的,该函数有时也会返回 False。事实上,我找不到什么时候工作正常、什么时候不工作的任何共同点 任何人都知道如何修复此功能或执行此检查的整个其他方法。 (我使用该函数制作一个菜单,其中包含开发期间可用的测试功能,并将其隐藏给最终用户)

function IDERunning: Bool;
begin
  Result := (FindWindow('TAppBuilder', nil) > 0) and
    (FindWindow('TPropertyInspector', 'Object Inspector') > 0);
end;

我使用Delphi XE8

最佳答案

这取决于您想要测试的内容:

  • 使用IsDebuggerPresent测试是否有任何用户模式调试器附加到您的进程。
  • 测试是否 DebugHook非零来确定程序正在Delphi IDE调试器下运行。

请注意,当 DebugHook 为非零时,IsDebuggerPresent 将返回 true,但反之并非总是如此。除了 IDE 调试器之外,还有其他调试器。

关于delphi - 如何检测代码是否从 IDE 运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33775555/

相关文章:

delphi - 使用 try/finally try/except 而不是 begin/end 是否被认为是不好的做法或存在任何缺点?

德尔福7 : Handling events in console application (TidIRC)

java - 拖动组件创建另一个

visual-studio-2010 - 在管理员(提升)模式下使用 Visual Studio 2010

visual-studio - 为什么 Visual Studio 2005+ 书签键盘快捷键会转到其他文档中的书签?

c# - 为什么我不能在 Debug模式下运行 C# 控制台应用程序? (MonoDevelop 问题?)

delphi - 删除运行时创建的TLabel

forms - 如何在 Delphi XE2 中使 TMaskEdit 进行多行编辑

mysql - 德尔福ZEOSlib : read from a table and write it to another database

xcode - 基于文档的应用程序示例