Windows Shell:调用上下文菜单条目

时间:2014-02-01 18:36:38

标签: windows shell powershell contextmenu

我正在做一些自动化的东西而且我有点卡住了。我有一个程序,它不提供任何命令行操作(我想用脚本启动它),但它在Windows资源管理器中提供了一个上下文菜单。如果我可以“调用”或模仿点击或类似的东西,那么问题就会得到解决。

所以我浏览了网络以寻找任何解决方案 - 并找到了一个:Powershell的简短脚本,它正是我所需要的。

$o = new-object -com Shell.Application
$folder = $o.NameSpace("c:\temp")
$file=$folder.ParseName("test")
$file.Verbs() | %{ if($_.Name -eq ' ... name of the context menu entry ...') { $_.DoIt() } }

它只有一个问题:它只适用于不在子菜单中的上下文菜单条目。不幸的是,所需的上下文菜单条目位于这样的子菜单中。

有人有什么建议吗? 我愿意接受任何解决方案:

  • 编辑powershell脚本,因此它也适用于子菜单中的条目
  • 编辑注册表,所以该条目在菜单之外(我担心这可能不起作用,因为它是用DLL中的COM模块实现的,我不能改变任何东西(?))
  • 任何其他解决方案:第三方应用程序......

非常感谢!

3 个答案:

答案 0 :(得分:0)

你是否从codeplex看过WASP?

http://wasp.codeplex.com/

答案 1 :(得分:0)

可以在此处找到许多子命令的命令行语法。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell

答案 2 :(得分:0)

您可以使用AutoHotKey进行基于命令的自动化以及基于gui的自动化,包括单击特定选项。