我已经设置了与我自己的程序相关联的 .jpg 文件。我想将上下文菜单添加到 .jpg 文件中,所以我将 HKCR.jpg\shell\open\command 的条目设置为“myProg.exe %1”。关联后,上下文菜单顶部会有一个项目,显示“使用 myprog 打开图像”。当我选择一个 .jpg 文件时,这很有效,但是当我选择多个文件并单击上下文菜单的顶部项目时,什么也没有发生。我该如何解决这个问题?
非常感谢
我已经设置了与我自己的程序相关联的 .jpg 文件。我想将上下文菜单添加到 .jpg 文件中,所以我将 HKCR.jpg\shell\open\command 的条目设置为“myProg.exe %1”。关联后,上下文菜单顶部会有一个项目,显示“使用 myprog 打开图像”。当我选择一个 .jpg 文件时,这很有效,但是当我选择多个文件并单击上下文菜单的顶部项目时,什么也没有发生。我该如何解决这个问题?
非常感谢
每个选定的文件都将发送到您的应用程序的一个新实例。您的应用程序应检查是否存在以前的版本。如果先前的实例存在,它应该将其参数发送给它(例如,使用 Windows 消息)然后终止。
另一种方法是使用 DDE(动态数据交换),这是 Shell 用来将所有文件发送到程序的一个实例的旧方法。
您可能需要在 "%1" 周围加上双引号。
阅读这篇文章,了解更多关于这一切如何运作的详细信息。 http://msdn.microsoft.com/en-us/library/bb776883.aspx
此外,此博客条目还讨论了您需要专门为执行多选命令执行的操作:http: //blogs.msdn.com/pix/archive/2006/06/30/652889.aspx