gpt4 book ai didi

delphi - 有没有人写过一些 delphi 代码来实现 REGJUMP 的功能?

转载 作者:行者123 更新时间:2023-12-03 15:41:52 27 4
gpt4 key购买 nike

有没有人写过一些 delphi 代码来实现 REGJUMP是吗?

具体来说,REGJUMP 是一款 MS 应用程序,可让您打开 regedit 到指定的值/键路径(准备在 regedit 中查看或编辑)。例如:regjump HKLM\Software\Microsoft\Windows 将在路径 HKLM\Software\Microsoft\Windows 中打开 regedit。

我尝试过:

ShellExecute(handle,'Open','C:\WINDOWS\regedit.exe', nil, nil, SW_SHOW);

这当然只会打开 regedit 到您最后查看的路径。

我尝试过:

ShellExecute(handle,'Open','C:\WINDOWS\regedit.exe', '[HKLM\Software\Microsoft\Windows]', nil, SW_SHOW);

但是尝试将值导入到路径中 - 由于各种原因惨败 - 并且这不是我想要做的。

最佳答案

我想你会发现Regedit中最后访问的注册表项保存在注册表中LastKey值下

HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\RegEdit

至少在 Windows10 中。

因此,我会尝试在调用 ShellExecute 或其他方法之前写入我想要访问的值。

示例代码:

program RegJumpTest;

{$APPTYPE CONSOLE}

uses
SysUtils, Registry;
var
Reg : TRegistry;
LastKey,
KeyToFind,
ValueToWrite : String;
begin
ValueToWrite := ParamStr(1);
KeyToFind := 'SOFTWARE\Microsoft\Windows\CurrentVersion\Applets\Regedit';
Reg := TRegistry.Create;
if Reg.KeyExists(KeyToFind) then
writeln('found ', KeyToFind)
else
writeln('not found ', KeyToFind);

if Reg.OpenKey(KeyToFind, False) then
writeln(KeyToFind, ' opened ok')
else begin
writeln('failed to open key: ', KeyToFind);
Halt(1);
end;
LastKey := Reg.ReadString('LastKey');
writeln('Last key: >', LastKey, '<');

Reg.WriteString('LastKey', ValueToWrite);
readln;
end.

关于delphi - 有没有人写过一些 delphi 代码来实现 REGJUMP 的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41630488/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com