注册表中, app 的设置一般在哪个路径
时间: 2024-04-06 18:29:59 浏览: 14
在Windows操作系统中,应用程序的设置通常会保存在注册表中的以下路径中:
HKEY_CURRENT_USER\Software\<Application Name>
其中,"<Application Name>" 是具体应用程序的名称。在这个键的下面,应用程序的不同设置和选项将会以键值对的形式进行保存。
需要注意的是,某些应用程序可能会使用不同的路径来保存其设置,具体取决于应用程序的开发人员。因此,如果您无法在上述路径中找到所需的设置,请尝试查找其他可能的路径。
相关问题
Windows查看进程在注册表中的安装路径
在 Windows 中,您可以通过以下步骤查看进程在注册表中的安装路径:
1. 首先,打开任务管理器,选择“详细信息”选项卡。
2. 找到您要查看的进程,右键点击该进程,并选择“打开文件位置”。
3. 在弹出的窗口中,您可以看到该进程的可执行文件所在的文件夹路径。
4. 在该路径上右键点击,选择“属性”,并在“属性”窗口中选择“安装位置”选项卡。
5. 在该选项卡中,您可以看到该进程的安装路径,以及其他相关信息。
除此之外,您还可以使用注册表编辑器来查看进程在注册表中的安装路径。具体步骤如下:
1. 打开注册表编辑器,方法是在 Windows 搜索栏中输入“regedit”,然后按 Enter 键。
2. 在注册表编辑器中,依次展开以下路径:`HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths`。
3. 在“App Paths”路径下,您可以找到系统中安装的所有应用程序的对应信息。通过单击每个子项,您可以查看该应用程序的安装路径,以及其他相关信息。
请注意,修改注册表中的某些键值可能会对系统造成不可逆的损坏,因此在使用注册表编辑器时请谨慎操作。
c++ windows服务中通过进程名从注册表获取进程安装路径
您可以使用Windows API中的RegOpenKeyEx和RegQueryValueEx函数从注册表中获取进程的安装路径。以下是一个示例代码,可以通过进程名获取进程安装路径:
```c++
#include <windows.h>
#include <string>
#include <algorithm>
std::string GetProcessPath(const std::string& processName)
{
std::string path;
// Open the key for the process
HKEY key;
std::string keyPath = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\" + processName;
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, keyPath.c_str(), 0, KEY_READ, &key) == ERROR_SUCCESS)
{
// Get the value of the "Path" subkey
char buffer[MAX_PATH];
DWORD dataSize = sizeof(buffer);
if (RegQueryValueEx(key, "Path", NULL, NULL, (LPBYTE)buffer, &dataSize) == ERROR_SUCCESS)
{
// Combine the path and the process name
path = std::string(buffer) + "\\" + processName;
// Remove quotes if present
path.erase(std::remove(path.begin(), path.end(), '\"'), path.end());
}
// Close the key
RegCloseKey(key);
}
return path;
}
```
您可以将此函数放在您的Windows服务代码中,并使用进程名调用它。例如:
```c++
std::string processName = "notepad.exe";
std::string processPath = GetProcessPath(processName);
```
请注意,此代码仅适用于32位进程在64位操作系统上。如果您在32位操作系统上运行32位进程,则无需使用WOW6432Node子键。