Delphi 修改资源字符串



  • 主要代码
procedure SetResourceString(OldValue, NewValue: PResStringRec);
var
  OldProtect: DWORD;
begin
  { 通过 VirtualProtect 修改指定数据所在区域的内存属性为可读写,该区域原来的属性保存在 OldProtect 中 }
  VirtualProtect(OldValue, SizeOf(PResStringRec), PAGE_EXECUTE_WRITECOPY, @OldProtect);
  { 赋值新值 }
  PResStringRec(OldValue)^ := PResStringRec(NewValue)^;
  { 恢复原内存区域内的属性 }
  VirtualProtect(OldValue, SizeOf(PResStringRec), OldProtect, @OldProtect);
end;

  • 调用例子
procedure testShow;
begin
  ShowMessage(SMsgDlgOK);
end;

procedure testChange;
resourcestring
  test = '改变了木有';
begin
  testShow;
  SetResourceString(@SMsgDlgOK, @test);
  testShow;
end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值