*gruml* und schon das nächste problem ....
Delphi-Quellcode:
procedure TForm2.Button2Click(Sender: TObject);
var
DummyArray :
array[1..4]
of Byte;
NativeReg : TRegistry;
S :
String;
Version : integer;
ExeName :
string;
begin
DummyArray[1] := 2;
DummyArray[2] := 0;
DummyArray[3] := 0;
DummyArray[4] := 0;
ExeName := '
meineExe';
NativeReg := TRegistry.Create;
NativeReg.RootKey := HKEY_LOCAL_MACHINE;
NativeReg.OpenKey('
SOFTWARE\Clients\Mail', True);
NativeReg.WriteString('
', ExeName);
NativeReg.CloseKey;
NativeReg.OpenKey('
SOFTWARE\Clients\Mail\'+ExeName, True);
NativeReg.WriteString('
', ExeName);
NativeReg.CloseKey;
NativeReg.OpenKey('
SOFTWARE\Clients\Mail\'+ExeName+'
\Protocols\mailto', True);
NativeReg.WriteString('
', '
URL:MailTo Protocol');
NativeReg.WriteBinaryData('
Edit Flags', DummyArray, 4);
NativeReg.WriteString('
URL Protocol', '
');
NativeReg.CloseKey;
NativeReg.OpenKey('
SOFTWARE\Clients\Mail\'+ExeName+'
\Protocols\mailto\DefaultIcon', True);
NativeReg.WriteString('
', '
"'+ExeName+'
",0');
NativeReg.CloseKey;
NativeReg.OpenKey('
SOFTWARE\Clients\Mail\'+ExeName+'
\Protocols\mailto\shell\open\command', True);
NativeReg.WriteString('
', '
"'+ExeName+'
" -newmail "%1"');
NativeReg.CloseKey;
NativeReg.OpenKey('
SOFTWARE\Clients\Mail\'+ExeName+'
\shell\open\command', True);
NativeReg.WriteString('
', '
"'+ExeName+'
"');
NativeReg.CloseKey;
NativeReg.Free;
hab hier ein stückchen code, unter XP funkt das wunderbar
habs nun unter vista laufen ... ohne admin rechte bekomm ich normalen fehler, das er nicht schreiben darf ... alles klar, admin rechte gegeben, und jetzt läuft zwar alles ohne probs aber die registry ändert sich nicht
ändere ich es auf HKEY_CURRENT_USER um, dann schreibt ers.