date
我需要直接打开一个带有 const 搜索字符串的控制面板窗口:
像这样:
有什么方法可以保存 control.exe 搜索结果并像我们在 explorer.exe 中那样重复使用它来完成这项工作?
或者任何其他方式都是可以接受的。
只是给我一个指导,具体代码不一定。
date
我需要直接打开一个带有 const 搜索字符串的控制面板窗口:
像这样:
有什么方法可以保存 control.exe 搜索结果并像我们在 explorer.exe 中那样重复使用它来完成这项工作?
或者任何其他方式都是可以接受的。
只是给我一个指导,具体代码不一定。
我在过去的几分钟里尝试了一些想法,所以我将把我的结果留在这里:
资源管理器搜索:如果您在普通文件夹中使用搜索功能,您可以保存搜索并调用文件重新开始搜索。超级用户 stackexchange 中有一个线程如何执行此操作。提到的.search.ms
文件基于 XML,所以也许对 Windows 路径 id 有更好了解的人可以修改这样的文件以适合您的情况。
control.exe 的参数:我假设您已经在 中找到了control.exe
可执行文件System32
,它打开控制面板并通过特殊名称、.cpl
文件或/page
参数提供各种子面板。我找不到完整的命令参考control.exe
,所以也许有一个初始搜索词的参数,但在我看来它极不可能。
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}")