Como criar pastas especificas no regedit usando o Delphi?
Pessoal gostaria de uma ajuda de vocês como faço para abrir uma determinada pasta no Regedit
tipo eu quero abrir a pasta MuiCache que esta localizada em HKEY_CURRENT_USER\\Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\MuiCache
eu sei usando aquivo VBS codigo abaixo porem que usar o Delphi em um button.
tipo eu quero abrir a pasta MuiCache que esta localizada em HKEY_CURRENT_USER\\Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\MuiCache
eu sei usando aquivo VBS codigo abaixo porem que usar o Delphi em um button.
Sub Main()
Set WshShell = CreateObject("WScript.Shell")
WshShell.RegWrite "HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Regedit\\Lastkey","HKEY_CURRENT_USER\\Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\MuiCache","REG_SZ"
WshShell.Run "regedit", 1,True
Set WshShell = Nothing
End Sub
On Error Resume Next
Main
If Err.Number Then
WScript.Quit 4711
End If
Set WshShell = CreateObject("WScript.Shell")
WshShell.RegWrite "HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Regedit\\Lastkey","HKEY_CURRENT_USER\\Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\MuiCache","REG_SZ"
WshShell.Run "regedit", 1,True
Set WshShell = Nothing
End Sub
On Error Resume Next
Main
If Err.Number Then
WScript.Quit 4711
End If
Fabricio Martins
Curtidas 0
Melhor post
Natanael Ferreira
11/08/2017
Você precisa usar a unit Registry para isso.
Para melhor entendimento, vou postar uma função para saber se um programa está instalado, abrindo e consulta chaves no registro.
Adicione Registry, Shellapi na uses do form.
Modo de uso:
Para melhor entendimento, vou postar uma função para saber se um programa está instalado, abrindo e consulta chaves no registro.
Adicione Registry, Shellapi na uses do form.
function ProgramaInstalado(Programa: string): String;
Var
List: TStringList;
Registry: TRegistry;
i: Integer;
DisplayName: String;
begin
Registry := TRegistry.Create;
List := TStringList.Create;
try
with Registry do
begin
RootKey := HKEY_LOCAL_MACHINE;
if OpenKey('Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall', False) Then
Begin
GetKeyNames(List);
CloseKey;
End;
for i := 0 to List.Count - 1 do
begin
RootKey := HKEY_LOCAL_MACHINE;
OpenKey('Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\' + List[i], False);
DisplayName := ReadString('DisplayName');
CloseKey;
if pos(AnsiUpperCase(Programa), AnsiUpperCase(DisplayName)) > 0 then
begin
Result := DisplayName;
exit;
end;
End;
end;
Finally
Registry.Free;
List.Free;
end;
end;Modo de uso:
if ProgramaInstalado(Edit1.Text) <> EmptyStr then
ShowMessage('Programa instalado: ' + sLineBreak + ProgramaInstalado(Edit1.Text))
else
ShowMessage('Programa não instalado');GOSTEI 1
Mais Respostas
Fabricio Martins
10/08/2017
pessoal desculpa o erro não é Criar é ABRIR
Como Abrir pastas especificas no regedit usando o Delphi?
obrigado..
Como Abrir pastas especificas no regedit usando o Delphi?
obrigado..
GOSTEI 0
Fabricio Martins
10/08/2017
obrigado pela ajuda
GOSTEI 0