在如下位置添加文件,本來是可以顯示在"發送到"菜單中的:
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組件的麻煩;