admin管理员组文章数量:1568357
文章目录
- 前言
- 方式一
- 说明
- 代码
- 方式二
- 说明
- 代码
前言
在Windows平台开发时,有时候需要唤起Chrome浏览器访问指定url, 这时就需要知道Chrome浏览器的安装路径了。笔者这里总结了2种方式,建议使用方式二。
方式一
说明
方式一,我们可以使用 Chrome浏览器 桌面图标的快捷方式找到Chrome的安装路径。博主这里是:C:\Users\Lisi\AppData\Local\Google\Chrome\Application,博主测试了几个Chrome浏览器版本,目前安装程序没有选择安装目录的操作,49版本、77版本、80版本 安装目录都是在这个目录下,当然用户名就不一样!AppData目录是给操作系统给所有应用程序方式放数据用的,这个目录是可以通过系统API(SHGetFolderPathAndSubDir)获取的。如果程序中需要获取Chrome安装路径可通过拼接的方式。
代码
#include "Utility.h"
#include <Shlobj.h>
#pragma comment (lib, "Shell32.lib")
CString CUtility::GetChromeFolderPath()
{
const int n = 1024;
TCHAR lpFolderPath[n] = { 0 };
SHGetFolderPathAndSubDir(NULL,CSIDL_LOCAL_APPDATA,NULL,SHGFP_TYPE_CURRENT,NULL,lpFolderPath);
_tcscat(lpFolderPath,_T("\\Google\\Chrome\\Application"));
return lpFolderPath;
}
使用方式一一般也没问题,博主不确定 Chrome会不会一直安装在这个目录 或者说有的用户做了骚操作,可以把Chrome安装到其他目录,方式一就不好使了。所以笔者推荐使用方式二。
方式二
说明
方式二是从注册表中获取Chrome的安装目录,由于注册表数据是由Chrome安装程序自己写的,这个数据一定的是对的,这样也是最保险的。如下图所示,Chrome安装路径在,计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\Google Chrome 这个项下的InstallLocation键的value值即为安装目录。而且该项下面还有其他的一些安装信息!
代码
这里笔者读取注册表,使用MFC那一套。
// Chrome浏览器路径
CString chromePath = _T("");
CRegKey reg;
if (reg.Open(HKEY_CURRENT_USER,
_T("Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Google Chrome"),
KEY_READ) == ERROR_SUCCESS)
{
TCHAR szValue[512] = { 0 };
DWORD dwSize = 512;
if (reg.QueryStringValue(_T("InstallLocation"),szValue,&dwSize) == ERROR_SUCCESS)
{
chromePath = szValue;
chromePath.Append(_T("\\chrome.exe"));
}
}
版权声明:本文标题:Windows编程—获取Chrome浏览器的安装目录 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1726734653a1082567.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论