如何在运行时修改  Resourcestring 的值

解决方案 »

  1.   

    假设在Project1.exe里有一個ID为100的Resouce String,Value为"abc",想将abc改为123,可以试如下操作procedure TForm1.Button2Click(Sender: TObject);
    var
      h: THandle;
      b: LongBool;
      s: String;
      s2: PWideChar;
      iMemAlloc: Integer;
    begin
      s := Edit2.text;
      iMemAlloc := Length(s) * SizeOf(WideChar);
      s2 := AllocMem(iMemAlloc);
      StringToWideChar(s, S2, iMemAlloc);
      h := BeginUpdateResource('Project1.exe', false);
      b := UpdateResource(h, RT_STRING, MakeIntResource(100), LANG_NEUTRAL, s2, iMemAlloc);
      if b then ShowMessage('a');
      EndUpdateResource(h, False);
    end;
      

  2.   

    但是如何知道Resouce String的ID