2011-11-23 92 views
8

我有一個.net應用程序,我需要提升管理員權限,由於訪問一些低級別的勝利API。我正在使用應用程序清單中的requestedExecutionLevel設置爲requireAdministrator。UAC海拔不允許拖放

該應用程序還需要從Windows資源管理器接收拖放請求。我已經嘗試在清單中設置uiAccess爲true,並遵守其他要求,如應用程序的authenticode簽名,在受限位置(程序文件)中安裝等。應用程序運行正常,沒有任何錯誤(在vista上,贏7) UAC提示升高。

但仍然無法接受拖放請求。

+0

可能重複[C#拖放不工作在Windows 7](HTTP ://www.stackoverflow.com/questions/2833709/c-sharp-drag-drop-does-not-work-on-windows-7) –

回答

2

我介紹瞭如何使阻力,並與UAC和UIPI在這裏放下工作:

How to Enable Drag and Drop for an Elevated MFC Application on Vista/Windows 7

+0

+1,很好學習有解決問題的方法。任何使用C#中的ChangeWindowMessageFilter的OP指針?只是'DllImport'? –

+0

@EricJ .:我會用簡單的DllImport。 –

+0

@HelgeKlein:謝謝你的信息。但是從接受D&D請求的表單中調用ChangeWindowsMessageFilter或ChangeWindowsMessageFilterEx不起作用。該方法成功執行,但仍然禁用D&D。看起來,Windows不再使用D&D的消息,但是一些COM組件([Windows中的D&D](http://msdn.microsoft.com/en-us/library/windows/desktop/bb776905(v = vs.85)的.aspx))。順便說一句,我需要在win xp,vista和win 7上執行代碼。 – CDS