gpt4 book ai didi

c++ - 以标准用户身份打开默认浏览器 (C++)

转载 作者:太空狗 更新时间:2023-10-29 20:32:14 25 4
gpt4 key购买 nike

我目前正在使用 ShellExecute“打开”在用户浏览器中打开 URL,但在 Win7 和 Vista 中遇到了一些麻烦,因为该程序作为服务运行提升。

当 ShellExecute 打开浏览器时,它似乎读取的是“本地管理员”配置文件而不是用户的配置文件。因此,例如,如果键盘上的用户将 Firefox 作为他的默认浏览器,它可能会打开 IE(这是管理员的默认浏览器)。

我知道“runas”这个动词可以用来提升,但反过来又如何呢?有没有办法通过服务在标准用户桌面上的默认浏览器中打开 URL?

最佳答案

ShellExecute 将在与您正在运行的进程相同的 session 和相同用户的上下文中执行程序。

如果您想使用不同的 session 或用户 token ,您可以使用 CreateProcessAsUser Win32 API。

有几种方法可以获取用户 token ,例如您可以调用 Win32 API:

关于c++ - 以标准用户身份打开默认浏览器 (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2308439/

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