Einzelnen Beitrag anzeigen

Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 

Re: Programm innerhalb IDE gestartet?

  Alt 13. Okt 2003, 20:16
Hi!

Gib wahrscheinlich verschiedene Möglichkeiten, dies herauszufinden.

Hier mal eine Möglichkeit:

Delphi-Quellcode:
type
  TIsDebuggerPresent = function: BOOL;

function IsDebuggerPresent: Boolean;
var
  hKernel32: Integer;
  IsDebuggerPresent: TIsDebuggerPresent;
  VerInfo: TOsVersionInfo;
begin
  Result := False;
  VerInfo.dwOSVersionInfoSize := SizeOf(VerInfo);
  GetVersionEx(VerInfo);
  if (VerInfo.dwPlatformId = VER_PLATFORM_WIN32_NT) and
    (VerInfo.dwMajorVersion >= 4) then
  begin
    hKernel32 := LoadLibrary('KERNEL32.DLL');
    if hKernel32 > 0 then
    begin
      IsDebuggerPresent := GetProcAddress(hKernel32, 'IsDebuggerPresent');
      if Assigned(IsDebuggerPresent) then
        Result := IsDebuggerPresent;
      FreeLibrary(hKernel32);
    end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if IsDebuggerPresent() = True then
    ShowMessage( 'Debugger or IDE entdeckt' )
  else
    ShowMessage( 'Debugger or IDE NICHT entdeckt' );
end;
Thomas
  Mit Zitat antworten Zitat