Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.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# 如何超越上下文菜单&;MultiSelectModel 100文件限制? 说明:_C#_Wpf_Shell_Contextmenu - Fatal编程技术网

C# 如何超越上下文菜单&;MultiSelectModel 100文件限制? 说明:

C# 如何超越上下文菜单&;MultiSelectModel 100文件限制? 说明:,c#,wpf,shell,contextmenu,C#,Wpf,Shell,Contextmenu,我注意到,我的程序最多只能从上下文菜单中打开100个文件,而不是只打开第一个文件。所以我一直在做研究,我发现有这样的解释: 下面是我的程序创建shell命令的步骤: RegistryKey farFile = Registry.CurrentUser.CreateSubKey(@"Software\Classes\*\shell\MyProgram"); farFile.SetValue("", "Open with MyProgram"); farFile.SetValue("Icon",

我注意到,我的程序最多只能从上下文菜单中打开100个文件,而不是只打开第一个文件。所以我一直在做研究,我发现有这样的解释:

下面是我的程序创建shell命令的步骤:

RegistryKey farFile = Registry.CurrentUser.CreateSubKey(@"Software\Classes\*\shell\MyProgram");

farFile.SetValue("", "Open with MyProgram");
farFile.SetValue("Icon", AppPath);
farFile.SetValue("MultiSelectModel", "Player");
farFile.CreateSubKey("command").SetValue("", "\"" + AppPath + "\" \"%1\" ");
问题:
如何才能使我的程序超过此玩家限制?我是否将shell命令转换为COM,以及如何转换?

实际上,您已经回答了自己的问题,现在关于如何转换本身是一个巨大的主题。这里有一种(不推荐的)用C#编写COM扩展的方法:实际上,您已经回答了自己的问题,现在关于它本身是一个巨大的主题。下面是一种(不推荐的)用C#编写COM扩展的方法: