打印本文 打印本文 关闭窗口 关闭窗口
怎样知道我的程序是否运行在DELPHI?
作者:武汉SEO闵涛  文章来源:敏韬网  点击数829  更新时间:2009/4/23 18:42:46  文章录入:mintao  责任编辑:mintao
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;

打印本文 打印本文 关闭窗口 关闭窗口