擅长:python、mysql、java
<p>这个问题没有简单的答案。在Windows中,上下文菜单条目是由上下文菜单shell扩展创建的,它是shell扩展的一种类型,是一个在Windows资源管理器中注册的COM组件。要对一组文件调用任意上下文菜单项,必须执行以下操作:</p>
<ol>
<li>获取包含文件的shell文件夹的<a href="http://msdn.microsoft.com/en-us/library/bb775075%28VS.85%29.aspx" rel="nofollow">IShellFolder</a>接口。在</li>
<li>使用<a href="http://msdn.microsoft.com/en-us/library/bb775073%28v=VS.85%29.aspx" rel="nofollow">IShellFolder::GetUIObjectOf</a>获取该shell文件夹的上下文菜单处理程序对象。向它传递一个ITEMIDLIST,其中包含所选文件的列表和<code>riid</code>=<code>IContextMenu</code>。在</li>
<li>调用<a href="http://msdn.microsoft.com/en-us/library/bb776096%28v=VS.85%29.aspx" rel="nofollow">IContextMenu::InvokeCommand</a>对文件组执行所需的命令。在</li>
</ol>
<P>这一切都可以在Python中实现(通过{{CD3>}或^ {CD4>}),但是我认为最好先从支持COM的语言(如C++)开始,一旦您执行Python,就将其转换为Python…或者使用不同的方法。在</p>
<hr/>
<p><strong>编辑</strong>如果您完全控制了执行环境,那么可以模拟用户输入(键盘和鼠标)。用Python做起来容易得多。您只需要一个系统函数:<a href="http://msdn.microsoft.com/en-us/library/ms646310%28VS.85%29.aspx" rel="nofollow">SendInput</a>。快速google显示了一个通过<code>ctypes</code><a href="http://kvance.livejournal.com/985732.html" rel="nofollow">here</a>使用SendInput的示例。在</p>