标签: registry

Windows 文件关联是否正确完成?

我想将我的应用程序设置为在 Windows 中具有文件关联(额外的复杂性:文件扩展名可能与其他一些不相关的应用程序冲突)。处理这种情况的最佳方法是什么?用户很可能不会同时拥有这两者,但如果两者兼得,最好的处理方法是什么?

我一直在网上搜索 stackoverflow 和其他各种网站,并且对如何做到这一点有一个基本的想法(我已经尝试过,并且它有效),但找不到关于如何最好地完成此操作的明确参考。

一些参考文献说将条目放入注册表中的 HKEY_CLASSES_ROOT 中。有人说不要这样做,而是将其放入 HKEY_LOCAL_MACHINE\Software\Classes 中。

应用程序是否还需要在 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths 或 HKEY_CLASSES_ROOT\Applications 下注册(参考上面关于 HKEY_CLASSES_ROOT 与 HKEY_LOCAL_MACHINE\Software\Classes 的讨论,这在技术上是否是正确的位置)?

我还看到一些页面建议设置“CurVer”和“OpenWithProgids”,但我不确定它们有何帮助。

我发现我可以创建

HKEY_LOCAL_MACHINE\Software\Classes.aaa(默认)AAAapp

HKEY_LOCAL_MACHINE\Software\Classes\AAAapp(默认) AAAapp DefaultIcon "%mypath%\to\AAAappIcon.ico" shell\open\command "%mypath%\to\AAAapp.exe" "%1"

它有效。我没有创建应用程序路径或应用程序注册表项,因此这些项似乎不会影响此问题。此外,上面似乎没有提供很好地处理系统上已存在“.aaa”文件扩展名关联的情况。

任何指导表示赞赏!

windows registry installation file-association

0
推荐指数
1
解决办法
307
查看次数

如何通过Windows Vista安全性?

有没有办法让我的.exe文件以管理员权限执行而不是我在注册表或右键单击文件并以管理员身份运行时杀死LUA

当我更改注册表时,它会提示用户我不想要的内容.我只是添加文件来杀死LUA,以授予用户执行我的.exe文件的完整权限.

如果我可以让它以管理员身份执行,它将节省我编辑注册表.我找不到该应用程序的源代码.它是用Delphi编码的,因此添加任何东西都是一个问题,而.reg文件需要在Windows Vista上运行.exe文件.

如何解决这个问题?

registry windows-vista

-1
推荐指数
1
解决办法
581
查看次数

C#:如何更改Windows注册表并立即生效

我正在尝试创建一个可以更改注册表值的应用程序.我可以很好地更改注册表值,但问题是需要重新启动才能使其生效.我想这样做而不重启.

我想要更改操作系统注册表值像壁纸和其他人.

.net c# registry c#-4.0

-1
推荐指数
1
解决办法
9940
查看次数

检测程序安装的时间

我可以以某种方式检测使用.Net或Win32 api或其他任何方式安装程序的时间吗?

.net registry winapi

-1
推荐指数
1
解决办法
969
查看次数

如何在wix包中编写注册表项和值?

我可以在wix的setup项目中编写一个注册表项和值,代码如下:

<RegistryKey Id="WinApp" Root="HKLM" Key="Software\App\[ProductName]" Action="createAndRemoveOnUninstall" >
      <RegistryValue Type="string" Name="InstallName" Value="[ProductName]" Action="write" KeyPath="yes"></RegistryValue>
    </RegistryKey>
Run Code Online (Sandbox Code Playgroud)

我怎么能在bootstrapper项目中做?

registry wix bootstrapper

-1
推荐指数
1
解决办法
2249
查看次数

删除RegistryKey Win64/32

我试图删除使用Delphi的Windows密钥,但不成功,遵循我正在使用的代码

Function DeleteKeyAPI(hRoot: HKEY; sPath: String; IsReg64: BOOL): BOOL;
Var
  iRet: Integer;
Begin
  If IsReg64 Then
    iRet := RegDeleteKeyEx(hRoot, PChar(sPath), KEY_WOW64_64KEY, 0)
  Else
    iRet := RegDeleteKeyEx(hRoot, PChar(sPath), KEY_WOW64_32KEY, 0);

  If iRet = ERROR_SUCCESS Then
    Result := True
  Else
    Result := False;
End;
Run Code Online (Sandbox Code Playgroud)

在某些键中,我可以删除多个自己的Regedit我的访问被拒绝错误

我该如何解决这个问题?

编辑-----------------------

我尝试按如下方式做,但没有成功

function SHDeleteKey(key: HKEY; pszSubKey: LPCTSTR): DWORD; stdcall;

implementation

{$R *.dfm}

function SHDeleteKey; external 'shlwapi.dll' name 'SHDeleteKeyA';

procedure TForm1.FormCreate(Sender: TObject);
begin
  SHDeleteKey(HKEY_LOCAL_MACHINE, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run\AdobeCS6ServiceManager');
end;
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

delphi registry

-1
推荐指数
1
解决办法
280
查看次数

测试路径返回 false,即使它存在

Powershell 命令显示 false ,即使该路径存在于注册表中,我做错了什么?

PS D:\Folder> Test-Path -Path 'HKU:\S-9-9-21-57989841-616249376-1801674531-2451702'
False
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

windows registry powershell powershell-2.0 powershell-4.0

-1
推荐指数
1
解决办法
294
查看次数

Delphi读取Windows 11系统路径

我正在开发在 64 位 Windows 11 上运行的 Delphi 12 应用程序。我的应用程序需要从注册表中读取路径(用户路径和系统路径),并且我的应用程序可以读取用户路径,但不能读取系统路径。

我使用“工具”->“选项”->“清单”要求管理员权限才能执行该程序,当我运行该应用程序时,它会提示我授权管理员模式,所以我知道它的一部分正在工作。

我已经在互联网上搜索了好几天寻找解决方案,并且尝试了我能找到的所有选项(Embarcadero 的网站本周关闭,这使得所有这一切变得更加困难,因为我在那里找到了许多文章参考文档)并且每次,代码成功打开指定的键 ( SYSTEM\CurrentControlSet\Control\Session Manager\Environment),但无法读取其中的任何属性(如path属性)。

我什至尝试TStringList使用该键下的所有属性填充 a

我创建了一个示例应用程序来演示这一点,您可以在https://github.com/johnwargo/Path-Test-2024找到它。

procedure PopulateList(pathList: TListBox; source: String; rootKey: HKEY;
  regKey, regProperty: String);
var
  Reg: TRegistry;
  pathArray: Tarray<String>;
  msg, pathStr: String;

begin
  LogMessage(Format('Reading "%s" Path from "%s"', [source, regKey]));
  // Reg := TRegistry.Create(KEY_ALL_ACCESS);
  // Reg := TRegistry.Create(KEY_ALL_ACCESS OR KEY_WOW64_64KEY);
  // Reg := TRegistry.Create(KEY_EXECUTE);
  // Reg := TRegistry.Create(KEY_EXECUTE OR KEY_WOW64_64KEY);
  // Reg := TRegistry.Create(KEY_READ OR KEY_WOW64_32KEY);
  Reg := TRegistry.Create(KEY_READ …
Run Code Online (Sandbox Code Playgroud)

windows delphi registry path

-1
推荐指数
1
解决办法
191
查看次数

如何在Delphi中使用TRegistry读取注册表值?

我正在尝试使用该类TRegistry读取 Windows 中的注册表值。

有人给我发送了一个如何使用它的示例,但代码不起作用。

uses Windows, Registry;

...

procedure TForm1.Button1Click(Sender: TObject);
var
  Registry: TRegistry;
  ProductName: string;
begin
  Registry := TRegistry.Create(KEY_READ); // or KEY_WRITE if you want to modify the value
  try
    Registry.RootKey := HKEY_LOCAL_MACHINE;
    ProductName := Registry.GetValue('SOFTWARE\Microsoft\Windows NT\CurrentVersion', 'ProductName', '');
    ShowMessage('The product name is: ' + ProductName);
  finally
    Registry.Free;
  end;
end;
Run Code Online (Sandbox Code Playgroud)

这不是找GetValue。所以也许这不是TRegistry工作方式,或者它的工作方式在新版本的 Delphi 中已经改变了。我不确定,而且 Embarcadero docwiki 已关闭,所以我也无法在那里检查。

怎样TRegistry运作?如何使用它从注册表中读取值?

delphi registry delphi-12-athens

-1
推荐指数
1
解决办法
136
查看次数

C++ windows注册表编辑

嘿,我需要c ++程序来编辑Windows注册表

c++ registry

-2
推荐指数
1
解决办法
848
查看次数

在c中打开注册表项

我使用regedit创建了一个密钥,现在我希望得到它的价值.它没有给出任何错误,但它没有显示任何内容.代码:

int main() {
    HKEY hKey;
    RegOpenKeyEx(HKEY_LOCAL_MACHINE, L"Ehsan Akbari", 0, KEY_ALL_ACCESS, &hKey);
    TCHAR sz[50];
    DWORD size = 50,type;
    RegEnumValue(hKey, 0, L"test", &size, NULL, &type, (LPBYTE)sz, &size);
    RegCloseKey(hKey);
    getch();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

注册图片:图片

我究竟做错了什么?

编辑


当我调试我看到hKeyNULL,但GetLastError不报什么.

c registry winapi

-3
推荐指数
1
解决办法
79
查看次数

编辑注册表

如何在不使用c#重启/注销的情况下编辑即时发生的注册表设置?

谢谢!

c# registry

-4
推荐指数
1
解决办法
1203
查看次数

保存注册表中的文件

我想创建并保存我创建的文件,以便没有人可以访问它.我已经知道如何创建文件,所以我的问题是:如何在注册表中保存此文件,以便没有人可以修改或删除它?

这是创建文件:

File f = new File("C:\\test.txt");
f.mkdirs();
f.createNewFile();
Run Code Online (Sandbox Code Playgroud)

我在网上搜索,这是我在注册表中保存文件的结果 http://answers.yahoo.com/question/index?qid=20090310201348AAihqUQ

java registry file

-4
推荐指数
1
解决办法
101
查看次数