在Windows Vista中,我無法將文件拖放到我的應用程序窗口,因爲它作爲高完整性級別的進程運行。我需要將它運行得很高,但我還需要能夠接受來自Windows資源管理器等低/中等完整性級別進程的丟棄文件。我相信這是阻止拖放操作的UIPI。我知道我可以使用ChangeWindowMessageFilter函數來允許某些Windows消息繞過UIPI,但我不確定要添加哪些消息來允許拖放操作。 ChangeWindowMessageFilter是否允許使用這種方法,或者有更好的方法嗎?謝謝!在Windows Vista中的中/高完整性級別進程之間拖放
回答
鑑於此博客條目的標題:
「Why you shouldn’t touch ChangeWindowMessageFilter
with a 10-ft pole…」,
我想這是不是最好的方法;)
現在,這似乎是在第一個偉大的方法 - 畢竟,如果您確信您可以完整驗證收到的郵件,即使它來自不受信任的來源,那麼您只會使用
ChangeWindowMessageFilter
,這樣就沒有辦法發生錯誤,對嗎?那麼,問題是,即使你這樣做,你經常打開你的程序無意中攻擊。
考慮一下如何定製窗口消息通常使用;幾乎所有現存的常用控件在自定義類消息範圍內都有「危險」的消息(例如WM_USER和朋友)。此外,許多程序和第三方庫混淆
WM_USER
和WM_APP
,這樣你可能同時通過WM_USER
和WM_APP
通信交叉過程中的程序,通過被用來製造敏感的決定或包括指針參數「危險」的消息。
在這篇博客的評論,討論另一種方法,但幾乎相同的結論:
我會用
RegisterWindowMessage
,然後允許通過ChangeWindowMessageFilter
。
但是,請注意,您無法設計傳遞指針或其他不可信值的跨進程窗口消息接口,或者您正在創建安全漏洞。由於這個原因,我傾向於避免在大多數跨進程IPC(如果可能的話)的所有消息中使用窗口,因爲使用它們以安全的方式進行非平凡的事情通常是非常困難的。
注:本項 「So, who wants to design a feature today?」 說明了同樣的問題,並指出雷蒙德陳有見地的文章:
- Why aren't console windows themed on Windows XP?
- Windows Vista has more extended options on the context menu
這兩個詳細說明問題。
此ServerFault問題「Why can’t I drag/drop a file for editing in notepad in Windows Server 2008?」也包含一些答案,但沒有快速獲勝。
- 1. 在Vista中更改System32文件夾的完整性級別
- 2. 如何掛接更高完整性級別的進程?
- 3. 如何從低廉的完整性級別流程創建中等完整性級別流程?
- 4. 拖放在高級的DataGrid
- 5. Windows程序以高完整性級別運行,沒有管理權限
- 6. 如何啓動低完整性級別的進程
- 7. 如何確定進程的完整性級別?
- 8. VB6在Windows 8中的拖放性能
- 9. 在Windows中拖放
- 10. 在uwp中的treeview之間拖放
- 11. 如何確定流程的完整性級別?
- 12. 拖放API級別9
- 13. 在android中的線性佈局交換視圖之間拖放?
- 14. QT中的itemismovable與拖放之間的區別是什麼
- 15. 如何開始實現不同進程之間的拖放?
- 16. 在DataGridView之間拖放
- 17. jstree中兩棵樹之間的拖放
- 18. 如何使服務ImpersonateLoggedOnUser具有較高的強制性完整性級別?
- 19. 如何在Windows Vista Session 0和桌面之間進行通信?
- 20. 以編程方式在iOS中的視圖之間拖放UIImage
- 21. GWTQuery拖放 - 在單元樹中的節點之間拖動
- 22. 在2個高級數據網格和克隆實例之間拖放數據
- 23. 如何在Windows Vista家庭高級版中的IIS 7中添加FTP站點
- 24. GridViews之間的拖放
- 25. 在不同的嵌套級別拖放JTree中的節點
- 26. ASP.NET - 信任級別=完整?
- 27. Android中的API級別10中的拖放操作
- 28. generate_tiles.py在完成請求的縮放級別之前停止
- 29. 對中/高完整性管道安全描述符的低完整性
- 30. 寫在Windows Vista中
我知道我的開放應用起來使用這種方法的危險性,因此我不會繞過任何指針結構。我真的需要拖放功能才能工作,Vista的「安全性」真的讓我很煩惱。 – 2009-07-23 13:08:34