我想我可以尝试使用远程注册表查询HKLM \\\\ Software \\\\ M" /> 我想我可以尝试使用远程注册表查询HKLM \\\\ Software \\\\ M" /> 我想我可以尝试使用远程注册表查询HKLM \\\\ Software \\\\ M" />

首页 / 知识

关于winapi:远程计算机上程序文件的路径

2023-04-14 00:25:00

关于winapi:远程计算机上程序文件的路径

Path to Program-Files on remote computer

如何确定远程计算机上" Program Files"目录的(本地)路径?似乎没有任何版本的SHGetFolderPath(或相关功能)以远程计算机的名称为参数。

我想我可以尝试使用远程注册表查询HKLM \\\\ Software \\\\ Microsoft \\\\ Windows \\\\ CurrentVersion \\\\ ProgramFilesDir,但是我希望可以采用"记录在案"的方式。


这就是我最后要做的事情:(pszComputer的格式必须为" \\\\\\\\\\\\\\
ame "。nPath是pszPath的大小(以TCHAR为单位))

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
DWORD GetProgramFilesDir(PCTSTR pszComputer, PTSTR pszPath, DWORD& nPath)
{
    DWORD n;
    HKEY hHKLM;
    if ((n = RegConnectRegistry(pszComputer, HKEY_LOCAL_MACHINE, &hHKLM)) == ERROR_SUCCESS)
    {
        HKEY hWin;
        if ((n = RegOpenKeyEx(hHKLM, _T("Software\\\\Microsoft\\\\Windows\\\\CurrentVersion"), 0, KEY_READ, &hWin)) == ERROR_SUCCESS)
        {
            DWORD nType, cbPath = nPath * sizeof(TCHAR);
            n = RegQueryValueEx(hWin, _T("ProgramFilesDir"), NULL, &nType, reinterpret_cast<PBYTE>(pszPath), &cbPath);
            nPath = cbPath / sizeof(TCHAR);
            RegCloseKey(hWin);
        }
        RegCloseKey(hHKLM);
    }
    return n;
}

许多标准路径都要求用户登录,特别是SH *函数,如" shell "(即资源管理器)提供的那些功能。我怀疑您要获得正确路径的唯一方法是通过注册表,就像您已经提到的那样。


路径计算文件参数

最新内容

相关内容

热门文章

推荐文章

标签云

猜你喜欢