BSOne.SFC/Tocsg.Module/Bs1Flt/MadCodeHookStop/Unit1.pas

48 lines
1.1 KiB
Plaintext

unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, madCodeHook, madStrings;
const
BS1HOOK_IPCMESSAGE_STRING = 'ipcBs1MhCtrl';
BS1HOOK_DRIVERTAG = 'bs1HookDriver';
BS1HOOK_DRIVERNAME32 = 'bsonex32.sys';
BS1HOOK_DRIVERNAME64 = 'bsonex64.sys';
type
TForm1 = class(TForm)
btnStop: TButton;
procedure btnStopClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.btnStopClick(Sender: TObject);
begin
DestroyIpcQueue(PAnsiChar(BS1HOOK_IPCMESSAGE_STRING));
UninjectLibrary(BS1HOOK_DRIVERTAG, BS1HOOK_DRIVERNAME64, ALL_SESSIONS, INJECT_METRO_APPS, nil, nil);
// 32 bit
UninjectLibrary(BS1HOOK_DRIVERTAG, BS1HOOK_DRIVERNAME32, ALL_SESSIONS, INJECT_METRO_APPS, nil, nil);
if not StopInjectionDriver(BS1HOOK_DRIVERTAG) then
MessageBox(Handle, 'stopping driver failed', 'error...', MB_ICONERROR);
ShowMessage('ÁßÁö µÇ¾ú½À´Ï´Ù');
end;
end.