怎样知道我的程序是否运行在DELPHI?

delphi文档 专栏收录该内容
16 篇文章 0 订阅
function IsAppRunningInDelphi : boolean;
var
  hKernelDll : THANDLE;
  proc_IsDebuggerPresent : TProcIsDebuggerPresent;
  useFindWindow : boolean;
  proc : FARPROC;
begin
  useFindWindow := true;
  if (Win32Platform = VER_PLATFORM_WIN32_NT) then
  begin
    // WinNt
    try
      hKernelDll := GetModuleHandle(kernel32);
      if (hKernelDll = -1) then
        hKernelDll := LoadLibrary(kernel32);
      if (hKernelDll <> -1) then
      begin
        proc := GetProcAddress(hKernelDll, 'IsDebuggerPresent');
        if (proc <> nil) then
        begin
          proc_IsDebuggerPresent := proc;
          result := proc_IsDebuggerPresent;
          useFindWindow := false;
        end;
      end;
    except
    end;
  end;
  if (UseFindWindow) then
  begin
    if FindWindow('TAppBuilder', Nil) <> 0 Then
      result := true
    else
      result := false;
  end;
end;
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值