//SoftIce in W9x OS
function IsSoftIce95Loaded: Boolean;
var
hFile: THandle;
begin
Result := False;
hFile := CreateFileA('\.SICE', GENERIC_READ or GENERIC_WRITE,
FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, 0);
if (hFile <> INVALID_HANDLE_VALUE) then
begin
CloseHandle(hFile);
Result := True;
end;
end;
// SoftIce in NT/2000 OS
function IsSoftIceNTLoaded: Boolean;
var
hFile: THandle;
begin
Result := False;
hFile := CreateFileA('\.NTICE', GENERIC_READ or GENERIC_WRITE,
FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, 0);
if (hFile <> INVALID_HANDLE_VALUE) then
begin
CloseHandle(hFile);
Result := True;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if IsSoftIce95Loaded or IsSoftIceNTLoaded then
begin
//Do something if Softice is loaded
end;
end;