Einzelnen Beitrag anzeigen

Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#1

UpdateResource - Die akt. laufende Exe ändern ?

  Alt 4. Feb 2007, 10:37
Hi,

ist es möglich mit UpdateResource die akt. laufende Exe zu ändern ?
Leider habe ich noch nichts erreichen können. Wer kann helfen ?

Delphi-Quellcode:
// var
// sztSettings: array [0..7] of Char = ('1','0','0','0','0','0','0','0');

procedure TFormX.SaveSettings;
var
  hLib, hUpdate, hRes: THandle;

  function LastErrorMsgStr: String;
  var szerror: array [0..255] of Char;
  begin
    FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, nil, GetLastError(), 0, szError,
      sizeof(szError), nil);
    Messagebox(0, szerror, '', 0);
  end;
  
  function MAKELANGID(const usPrimaryLanguage : WORD;const usSubLanguage : WORD) : WORD;
  begin
    Result := (usSubLanguage shl 10) or usPrimaryLanguage;
  end;

begin
  hUpdate := BeginUpdateResource(PChar(ParamStr(0)), BOOL(FALSE));
  if hUpdate > 0 then
  begin
    if not UpdateResource(
             hUpdate,
             RT_STRING,
             MAKEINTRESOURCE(1),
             MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL),
             @sztSettings,
             7) then LastErrorMsgStr;
    if not EndUpdateResource(hUpdate, BOOL(FALSE)) then
      LastErrorMsgStr;
  end;

end;
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat