我正在 Windows 中进行 Shell 集成,使用下面的 MS 示例:
此代码文件顶部的注释为:
请注意,如果应用程序尚未运行,COM 将启动您的应用程序,如果应用程序已在运行,它将连接到已经运行的应用程序实例。
样本本身被设计为执行一次然后退出——这是按预期工作的。但是,我希望我的 EXE 继续运行,这样当用户在资源管理器中右键单击文件并选择我的动词时,应该使用我的应用程序的现有实例。我使用了示例中的代码。但是,每次我右键单击一个文件并选择我的动词时,它都会启动我的 EXE(COM 服务器)的一个新实例——这与上面的评论相矛盾。
我尝试了不同的
REGCLS
值,但行为没有变化。另外,我尝试在注册表中添加MultiSelectModel=Player
(在我的动词键下),但这没有帮助。