Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用上下文菜单将文件发送到C中的另一个应用程序#_C# - Fatal编程技术网

C# 使用上下文菜单将文件发送到C中的另一个应用程序#

C# 使用上下文菜单将文件发送到C中的另一个应用程序#,c#,C#,我目前正在创建一个可以保存多个图像的应用程序,我决定在一个图像上,我希望右键单击时出现一个上下文菜单,并且有一个选项可以发送到图像编辑应用程序,如Photoshop、Gimp、Paint等 我知道如何创建上下文菜单,但是我不确定将图像发送到应用程序本身所使用的代码。如果要在默认应用程序中打开文件,则该代码已经存在。如果您想执行浏览器在“编辑”上下文菜单项上执行的相同操作,请从上面的链接将这两行添加到“原始、复杂答案”中: if (psi.Verbs.Contains("Edit", String

我目前正在创建一个可以保存多个图像的应用程序,我决定在一个图像上,我希望右键单击时出现一个上下文菜单,并且有一个选项可以发送到图像编辑应用程序,如Photoshop、Gimp、Paint等


我知道如何创建上下文菜单,但是我不确定将图像发送到应用程序本身所使用的代码。

如果要在默认应用程序中打开文件,则该代码已经存在。如果您想执行浏览器在“编辑”上下文菜单项上执行的相同操作,请从上面的链接将这两行添加到“原始、复杂答案”中:

if (psi.Verbs.Contains("Edit", StringComparer.OrdinalIgnoreCase))
    psi.Verb = "edit";
您应该检查
psi.Verbs
中是否存在所需的动词。如果没有“编辑”动词,那么代码将调用默认应用程序。。默认情况下


如果您想向用户提供用户已安装的所有图像编辑应用程序的列表,那么您必须拥有此类应用程序的硬编码数据库及其安装GUID,检查它们是否已安装,找出它们的安装位置(可能不在默认位置),并列出它们的列表,将每个文件作为命令行参数调用。为它提供代码太复杂了。

大多数应用程序都将文件名作为第一个参数。您可以触发一个shell命令,如
paint.exe“X:\somePath\myImage.bmp”
如果我的答案是问题的可接受答案,那么您应该通过单击答案旁边的空心复选标记来接受它,使其变为绿色。如果你发现了一个不同的解决方案,那么你应该在这里描述它并接受它。