2011-08-31 65 views
2

把文件夾放到剪貼板後 - 在Windows資源管理器中右鍵單擊不會讓我選擇「創建快捷方式」。我如何獲得?如何寫入剪貼板以在Windows資源管理器中獲取「創建快捷方式」選項?

謝謝。

+0

如果你問如何以編程方式創建一個快捷方式:http://stackoverflow.com/questions/234231/creating-application-shortcut-in-a-directory/234543#234543 – IAbstract

+0

@IAbstract No.我想成爲能夠在剪貼板上放置一個文件列表,然後在Windows資源管理器中右鍵單擊,並獲得「創建快捷方式」的選項。就好像我使用Windows資源管理器進行「複製」一樣。 – ispiro

+0

你在剪貼板上放什麼?多少個文件? –

回答

0

你需要其他格式,特別是OLE的東西。

與我的應用程序(ClipMate)的診斷模式進行實驗,我看到,當你複製文件到剪貼板,在Windows桌面上右鍵單擊,下面的格式從剪貼板中讀取:

Ole Private Data 
DataObject 
Preferred DropEffect 
HDROP 
Shell IDList Array 

然後當你真正執行「粘貼快捷方式」,附加格式被拉:

Shell Object Offsets 

我能不首選DROPEFFECT執行「粘貼快捷方式」,所以我認爲這是可選的。我在Windows XP,SP3上測試過。 YMMV與其他平臺。

0

這不會像你想要的那樣工作。在計算機上拖動文件並釋放鼠標右鍵時,不涉及剪貼板。您可以通過打開記事本,編寫一些文本並複製它,然後通過右鍵單擊並在筆記本上粘貼文本來在計算機上創建一個快捷方式來測試。當你這樣做時,你會看到文本仍然存在,這意味着沒有文件被「覆蓋」它。

所以沒有什麼可以做到的剪貼板來改變「創建快捷方式在這裏」的含義。你可以做的最接近的事情是創建一個快捷方式,@IAbstract說,並將該快捷方式複製到剪貼板。您將能夠右鍵單擊並粘貼快捷方式。看到這篇文章更多Drag & drop of a dynamically created shortcut

+0

我假設ispiro希望上下文菜單提供「粘貼爲快捷方式」 –

+0

@Chris Haas不做拖動。試試這個:右鍵點擊一個文件。點擊「複製」。右鍵點擊其他地方。點擊「粘貼快捷方式」。 – ispiro

+0

謝謝@ispiro,這有幫助。有一個令人困惑的「創建快捷方式」命令。我找不到任何人在.Net中完全做到這一點,但下面的文章概括了C中的基礎知識。最終,您需要創建一個'CFSTR_SHELLIDLIST'結構並調用'SetData'傳遞'Shell IDList Array'和您的結構。聽起來很簡單,但涉及很多工作,我不幸沒有時間進入,但也許有人在這裏。 http://netez.com/2xExplorer/shellFAQ/adv_drag.html –

相關問題