【问题标题】:Is there any way to open a Control Panel windows with a const search string? [closed]有没有办法用 const 搜索字符串打开控制面板窗口? [关闭]
【发布时间】:2017-01-18 08:38:10
【问题描述】:

我需要直接打开一个带有 const 搜索字符串的控制面板窗口:date

像这样:

有什么方法可以保存 control.exe 搜索结果并像我们在 explorer.exe 中那样重复使用它来完成这项工作?

或者任何其他方式都是可以接受的。

只是给我一个指导,具体代码不一定。

【问题讨论】:

  • 在微软的论坛上也可以问这个问题。
  • 谢谢,在 msdn 上发布 here

标签: windows controlpanel


【解决方案1】:

我在过去的几分钟里尝试了一些想法,所以我将把我的结果留在这里:

  1. Explorer 搜索:如果您在普通文件夹中使用搜索功能,您可以保存搜索并调用该文件重新开始搜索。有一个thread in superuser stackexchange 如何做到这一点。提到的.search.ms 文件是基于 XML 的,所以也许对 Windows 路径 id 有更好了解的人可以修改这样的文件以适合您的情况。

  2. control.exe 的参数:我假设您已经在System32 中找到了control.exe 可执行文件,它打开控制面板并通过特殊名称提供各种子面板,@987654325 @ 文件或 /page 参数。我找不到control.exe 的完整命令参考,所以也许有一个初始搜索词的参数,但我认为这不太可能。

  3. Dirty hacks:我注意到,每当您打开控制面板时,搜索字段就会聚焦,因此我编写了一个脚本,该脚本使用剪贴板插入搜索词。我使用了 powershell,但是这个脚本的大部分是从各种 stackoverflow 线程复制粘贴的,所以它的质量非常低,但它可以工作。也许你可以改进这一点,去掉Start-Sleep部分,因为所需的等待时间取决于打开控制面板的时间。

    [void][System.Reflection.Assembly]::LoadWithPartialName("'System.Windows.Forms")
    "date" | clip
    Start-Process control.exe
    Start-Sleep -Milliseconds 200
    [System.Windows.Forms.SendKeys]::SendWait("^{v}")
    

【讨论】:

  • @lukegv 谢谢。资源管理器搜索:似乎是先保存“日期”的搜索结果,然后在资源管理器中重复使用它的一种方法,但我没有如何保存控制面板搜索结果,似乎 control.exe 不提供这个观点。 control.exe 的参数:这也是我一开始尝试的,在谷歌上搜索了一个下午的结果.....肮脏的黑客:它有效,也许目前这是唯一的解决方案..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-29
  • 1970-01-01
  • 1970-01-01
  • 2021-06-30
  • 2018-04-17
相关资源
最近更新 更多