Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit Unit1;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls;
- type
- TForm1 = class(TForm)
- Button1: TButton;
- procedure Button1Click(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
- var
- Form1: TForm1;
- WindowName: Integer;
- ProcessId: Integer;
- ThreadId: Integer;
- HandleWindow: Integer;
- Write: Cardinal;
- implementation
- {$R *.dfm}
- procedure WriteProcessBytes(hProcess: THandle; Address: Pointer; const Buffer;
- Count: Integer); overload;
- var
- NumberOfBytesWritten: DWORD;
- begin
- if not WriteProcessMemory(hProcess, Address, @Buffer, SizeOf(Buffer),
- NumberOfBytesWritten) then RaiseLastOSError;
- end;
- procedure WriteProcessBytes(hProcess: THandle; Address: Pointer;
- const Buffer: Byte); overload;
- begin
- WriteProcessBytes(hProcess, Address, Buffer, SizeOf(Buffer));
- end;
- procedure WriteProcessBytes(hProcess: THandle; Address: Pointer;
- const Buffer: Word); overload;
- begin
- WriteProcessBytes(hProcess, Address, Buffer, SizeOf(Buffer));
- end;
- procedure WriteProcessBytes(hProcess: THandle; Address: Pointer;
- const Buffer: Cardinal); overload;
- begin
- WriteProcessBytes(hProcess, Address, Buffer, SizeOf(Buffer));
- end;
- procedure TForm1.Button1Click(Sender: TObject);
- begin
- WindowName := FindWindow(nil, 'Generic Property Editor Thingy');
- ThreadId := GetWindowThreadProcessId(WindowName, @ProcessId);
- HandleWindow := OpenProcess(PROCESS_ALL_ACCESS, False, ProcessId);
- WriteProcessBytes(HandleWindow, Pointer($449A17), Word(99));
- Closehandle(HandleWindow);
- end;
- end.
Add Comment
Please, Sign In to add comment