- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我可以安全地假设 Windows 资源管理器总是从 Windows 系统目录启动吗?另外,它的进程总是命名为“explorer.exe”吗?
如果不是,如何获取其完整文件路径?
编辑: 忘了提 -- 我需要这个来稍后找出在给定用户 session 中运行的 Windows 资源管理器的进程 ID。因此我搜索了它的完整路径。
编辑 2: 感谢所有做出贡献的人,尤其是 sehe!在他的帖子之后我找到了this page这解释了如何设置自己的 shell。我通过用我自己的进程完全替换 explorer.exe 进行了疯狂测试,结果如下: 这是 full-size link如果你调整它的大小。
如您所见,技术上我可以用我想出的任何进程替换 explorer.exe。您还可以在我的屏幕截图中看到,Windows 让我可以完全控制 Shell(屏幕截图是我的整个窗口。)
所以最重要的是,获取“explorer.exe”文件路径(或使用任何 Shell 进程)的唯一方法是使用我上面引用的链接中的那些注册表项——与 sehe 建议的非常接近,只需要再做几项检查,但这是一件非常简单的事情。
至于 Sean Cline 的建议,只有当我们运行带有带有特定类名的托盘窗口的“标准”Windows 资源管理器时,这才是一个非常优雅的解决方案。
最佳答案
可以安全地假设 explorer.exe 始终位于 %windir% 或 %SystemRoot% 中,因为它多年未移动。但是,如果您试图通过资源管理器调用某些东西,您可能想要使用 ShellExecute () 函数。
如果您确实需要路径,最简单的获取方式可能是调用 SHGetKnownFolderPath () 使用 FOLDERID_Windows 作为第一个参数。
编辑:这是我在知道您正在寻找 shell 进程的 PID 时对一些代码的尝试:
DWORD trayPID;
HWND trayWnd = FindWindow("Shell_TrayWnd", NULL);
GetWindowThreadProcessId(trayWnd, &trayPID);
它查找任务栏的 hWnd 并找到拥有的 PID。您可能需要为资源管理器未运行且该窗口不存在的情况添加一些错误处理 - 不太可能,但有可能。
关于c++ - 如何在 C++ 中获取 Windows 资源管理器的完整路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13484506/
我有一个 12 节点集群,我运行的是 yarn 架构。似乎我的节点大部分时间都很忙,而且很多时候作业都失败了。如何随时查看资源的使用情况?还有什么方法可以为用户设置有限的资源,例如:如果用户提交作业,
我有一个关于 Xtend 的非常具体的问题。 在我读到的有关 xText/xTend 的每个示例中,我都会看到类似这样的内容: override void doGenerate(Resource re
代码参考 代码文件参考下述详解的类图,工程参考第零章工程说明 。 概述 在游戏项目中有很多资产如:预制体,图片,音频,Lua脚本,Shader等等。他们随打包放在用户的硬盘里。在游戏的运
我有一个包含10个节点的Hadoop集群。在10个节点中,有3个部署了HBase。有两个共享集群的应用程序。 应用程序1从hadoop HDF写入和读取数据。应用程序2将数据存储到HBase中。有没有
例子: var image = UIImage.FromFile("/path/to/image.png"); var imageView = new UIImageView(); imageView
我需要存储 ThirdPartyElm 类型的元素序列,我使用的是 std::vector(或 std::array 如果我需要一个固定大小的序列)。 我想知道我应该如何初始化序列。第一个版本创建一个
我有一个具有UITabBarController的MonoTouch应用程序,每个选项卡都是一个UINavigationController。其中一些包装了一个UIViewController,后者添
所以我一直在研究使用资源管理 API 对 azure 进行只读 api 访问。现在我主要关注虚拟机。我一直在使用这个预发布包和 TokenCredentials: https://www.nuget.
我想获取 Azure 中包含给定标签的资源列表。基本请求形式如下:https://management.azure.com/subscriptions/{subscriptionId}/resourc
我一直在尝试访问 Azure 公开的 REST API,例如“https://management.azure.com/subscriptions?api-version=2016-06-01”,但无
如何使用 Azure 资源管理 API 获取资源组的资源列表 我已经安装了 Microsoft.Azure.Management.ResourceManager.Fluent Nuget 包下面的脚本
如何使用 Azure 资源管理 API 获取资源组的资源列表 我已经安装了 Microsoft.Azure.Management.ResourceManager.Fluent Nuget 包下面的脚本
我正在尝试在 Jersey 中编写 RESTful Web 应用程序时管理竞争资源(如:数据库 session )。通常我会写这样的代码: Session session = getSession()
我是这个论坛的新手。 我正在查看有关 Azure 资源运行状况 Rest Api 的 Microsoft 文档,链接如下: https://azure.microsoft.com/en-us/blog
我想使用这些 API 获取特定 Azure 帐户或订阅的运行状况和其他资源详细信息 https://learn.microsoft.com/en-us/rest/api/resourcehealth/
我正在尝试在 Azure 资源管理的上下文中找到应用程序权限的安全最佳实践。 目前,management.azure.com 仅列出了一项权限,它是management.azure.com/user_
我想使用这些 API 获取特定 Azure 帐户或订阅的运行状况和其他资源详细信息 https://learn.microsoft.com/en-us/rest/api/resourcehealth/
我正在尝试在 Azure 资源管理的上下文中找到应用程序权限的安全最佳实践。 目前,management.azure.com 仅列出了一项权限,它是management.azure.com/user_
我正在寻找一种以编程方式列出组织内的 Google Cloud 项目的方法。我正在尝试使用服务帐户导出的 json 凭据以这种方式实现此目的: // More info on the endp
我正在编写一些用于自动部署Azure网站的代码(包括在Azure中创建网站)。我正在使用 Nuget 中提供的 Azure 管理库和 Azure 资源管理库。大部分内容都已到位,但是我无法找到通过我见
我是一名优秀的程序员,十分优秀!