在如下位置添加文件,本来是可以显示在"发送到"菜单中的:
C:\Users\你的用户名\AppData\Roaming\Microsoft\Windows\SendTo
可是发送到不是EXE的文件时,不会显示;
必须在注册表中添加:
计算机\HKEY_CLASSES_ROOT\.你的扩展名
默认字符串设置为你的程序名;
再在注册表中添加:
计算机\HKEY_CLASSES_ROOT\你的程序名\ShellEx\DropHandler
值为你COM进程内组件的CLSID;
这样,在发送到菜单中才会被显示出来;
实现方法可以参考微软的文章:
How to Create Drop Handlers
https://docs.microsoft.com/en-us/previous-versions/windows/desktop/legacy/cc144165(v=vs.85)
悄悄告诉你,我的DropHandler填写的是这个:
{60254CA5-953B-11CF-8C96-00AA00B8708C}
不清楚什么原理,不过貌似可以直接用,免去了自己实现COM组件的麻烦;