function LoadWindowStr
(const lbr: string; i: Integer; Dflt: string = ''): string;
var
H: THandle;
P: PChar;
buf, sz: Integer;
begin
buf := 1024;
getmem(p, buf);
H := GetModuleHandle(PChar(lbr));
if (H <> 0) then begin
sz := LoadString(H, i, P, buf);
if sz = 0 then Result := Dflt
else Result := p;
end else Result := Dflt;
freemem(p);
end;
// Beispielaufrufe
procedure TForm1.Button1Click(Sender: TObject);
begin
Button2.Caption := LoadWindowStr('user32.dll', 802, 'Abbruch');
Button3.Caption := LoadWindowStr('user32.dll', 805, 'Yes');
Button4.Caption := LoadWindowStr('user32.dll', 803);
Button5.Caption := LoadWindowStr('user32.dll', 804);
end;
{in der 'user32.dll' finden Sie beispielsweise:
002 Fehler
013 &Weitere Fenster...
014 Zum Erstellen des Bitmap ist nicht genügend Arbeitsspeicher verfügbar.
Schließen Sie andere Anwendungen, um mehr Arbeitsspeicher freizugeben.
700 IME s&tarten
701 IME &beenden
702 Bildschirmtastatur start&en
703 Bildschir&mtastatur beenden
705 &Rückumwandlung
706 Herunterfahren
707 Ausschalten
708 Neustart
709 Unbekannt
710 Windows
800 OK
801 Abbrechen
802 A&bbrechen
803 Wieder&holen
804 &Ignorieren
805 &Ja
806 &Nein
807 &Schließen
808 Hilfe
809 Wie&derholen
810 &Weiter
900 Minimieren
901 Maximieren
902 Vergrößern
903 Verkleinern
905 Schließen
}