...change resource strings at run-time?

Author: P. Below
Homepage: http://www.teamb.com

Category: Strings

uses
  
Consts;

procedure TForm1.Button1Click(Sender: TObject);
begin
  
InputBox('Test', 'Enter something', 'Test');
end;

procedure HookResourceString(rs: PResStringRec; newStr: PChar);
var
  
oldprotect: DWORD;
begin
  
VirtualProtect(rs, SizeOf(rs^), PAGE_EXECUTE_READWRITE, @oldProtect);
  rs^.Identifier := Integer(newStr);
  VirtualProtect(rs, SizeOf(rs^), oldProtect, @oldProtect);
end;

const
  
NewOK: PChar = 'New Ok';
  NewCancel: PChar = 'New Cancel';

initialization
  
HookResourceString(@SMsgDlgOK, NewOK);
  HookResourceString(@SMsgDlgCancel, NewCancel);
end.

 

printed from
www.swissdelphicenter.ch
developers knowledge base