-1

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

像这样:

带有搜索字符串的控制面板

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

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

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

4

1 回答 1

1

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

  1. 资源管理器搜索:如果您在普通文件夹中使用搜索功能,您可以保存搜索并调用文件重新开始搜索。超级用户 stackexchange 中有一个线程如何执行此操作。提到的.search.ms文件基于 XML,所以也许对 Windows 路径 id 有更好了解的人可以修改这样的文件以适合您的情况。

  2. control.exe 的参数:我假设您已经在 中找到了control.exe可执行文件System32,它打开控制面板并通过特殊名称、.cpl文件或/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}")
    
于 2017-01-18T09:57:44.877 回答