Entwickler-Ecke

Windows API - Registryeinträge exportieren


MisterBum - So 11.09.05 11:05
Titel: Registryeinträge exportieren
Hallo,
woran kann es liegen, das der folgende Code nicht funzt? Es soll ein Registrypfad exportiert werden, jedoch erzeugt er keine Datei:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
procedure TFormMain.Programmeinstellungen2Click(Sender: TObject);
begin
  { Exportieren }
  try
    SaveDialog1.Title := 'Programmeinstellungen exportieren';
    SaveDialog1.Filter := 'Programmeinstellungen|*.reg';
    if SaveDialog1.Execute then
    begin
      shellexecute(handle, PChar('OPEN'), PChar('regedit.exe'), PChar('/e ' + SaveDialog1.FileName + EndungREG + ' "HKEY_CURRENT_USER\Software\test\test\Einstellungen'), nil, sw_normal);
      MessageDlg('Export erfolgreich abgeschlossen!', mtInformation, [mbOK], 0);
    end;
  except
    MessageDlg('Fehler beim Export!', mtError, [mbOK], 0);
  end;
end;


Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt.


Sprint - So 11.09.05 11:13

Vielleicht hilft ja schon ein Freizeichen vor HKEY_CURRENT_USER.


MisterBum - So 11.09.05 12:17

Leider war es das auch nicht.

Sonst noch einer ne Idee?


Delete - So 11.09.05 17:25

Wie wär´s mit den Anführungszeichen hinter deinem Registryschlüssel? Vorn hast du sie ja noch gemacht.


MisterBum - Mo 12.09.05 08:23

Auch wenn ich hinter Einstellungen noch " mache, funzt es leider nicht. Es kommt keine Fehlermeldung, er erzeugt einfach die Datei nicht...


Lannes - Mo 12.09.05 09:20

Hallo,

bist du Dir sicher das es den Pfad
"HKEY_CURRENT_USER\Software\test\test\Einstellungen'"
in der Registry bei Dir gibt?
Der Code funktioniert, wenn Du die besprochenen Änderungen vorgenommen hast.


MisterBum - Mo 12.09.05 09:40

Schon interessant.
Ich habe immer auf den Desktop exportiert und dort wurde die Datei nicht angezeigt. Einer ne Idee?
Nach dem ich mal auf C:\ exportiert habe funktioniert der Code mit den Änderungen. Allerdings das Leerzeichen muss bleiben.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
procedure TFormMain.Programmeinstellungen2Click(Sender: TObject);
begin
  { Exportieren }
  try
    SaveDialog1.Title := 'Programmeinstellungen exportieren';
    SaveDialog1.Filter := 'Programmeinstellungen|*.reg';
    if SaveDialog1.Execute then
    begin
      shellexecute(handle, PChar('OPEN'), PChar('regedit.exe'), PChar('/e ' + SaveDialog1.FileName + EndungREG + ' "HKEY_CURRENT_USER\Software\test\test\Einstellungen"'), nil, sw_normal);
      MessageDlg('Export erfolgreich abgeschlossen!', mtInformation, [mbOK], 0);
    end;
  except
    MessageDlg('Fehler beim Export!', mtError, [mbOK], 0);
  end;
end;


Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt.


Lannes - Mo 12.09.05 09:51

Hallo,
user profile iconMisterBum hat folgendes geschrieben:
Schon interessant.
Ich habe immer auf den Desktop exportiert und dort wurde die Datei nicht angezeigt...

kann ich nicht nachvollziehen, ein Export auf den Desktop funktioniert ohne Probleme.


MisterBum - Mo 12.09.05 09:54

Komisch komisch :?:
Naja mal testen was das so sein kann? Falls einer ne Idee hat, bitte posten...

Gruß und Dank
MisterBum