0
我創建了一個ATL/COM項目,並實現了IShellExtInit接口。在Initialize方法中,我使用DrapDropFile函數來獲取文件夾中所選文件的文件名。如何獲取右鍵單擊事件對象文件名?
例如
1.In文件夾C:\ WINDOWS \ MyFolder文件\包含的文件:
a.png, b.bmp, c.jpg
2.右鍵點擊 「b.bmp」。
3.在Initialize方法中,我得到一個文件名列表。
fileNames[0] = C:\WINDOWS\MyFolder\b.bmp
fileNames[1] = C:\WINDOWS\MyFolder\c.jpg
fileNames[2] = C:\WINDOWS\MyFolder\a.png
問:
我怎樣才能得到文件的實際順序(A/B/C不是B/C/A)
期待:
1.右鍵點擊「b.bmp」。
I get the file name: C:\WINDOWS\MyFolder\a.png
2.右鍵單擊「a.png」。
I get the file name: C:\WINDOWS\MyFolder\a.png
您以任何順序獲取源文件填充IDataObject的文件;沒有在目標上執行自己的排序,我不認爲你可以對此做任何事情。 – Luke 2010-09-02 20:26:46
我需要實際點擊的對象。 – 2010-09-04 06:03:16
我認爲資源管理器作爲IDataObject中的第一個項目傳遞選定的對象(有一段時間,所以我可能是錯的)。無論如何,我認爲沒有一種簡單的方法可以做到這一點。我唯一能想到的就是試圖找到相關文件夾的IShellFolderView(或其他),並試圖確定該文件夾中的焦點對象。 – Luke 2010-09-06 15:24:38