怎樣知道我的程式是否執行在DELPHI? (轉)

worldblog發表於2007-12-09
怎樣知道我的程式是否執行在DELPHI? (轉)[@more@]function IsAppRunningIn : boolean;
var
 hKernelDll : THANDLE;
 proc_IsDegerPresent : TProcIsDebuggerPresent;
 useFindWindow : boolean;
 proc : FROC;
begin
 useFindWindow := true;
 if (Platfo= 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;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-990395/,如需轉載,請註明出處,否則將追究法律責任。

相關文章