簡體   English   中英

如何獲取Vista風格的Open / SaveDialog的句柄?

[英]How to get the handle of a Vista style Open/SaveDialog?

我想獲得由Delphi應用程序打開的新的遠景樣式Open / SaveDialog的窗口句柄。

通過解析OnShow,可以使用舊樣式對話框,但是使用新樣式對話框,則不會發生此類事件。

是否有可能遍歷Windows中的所有窗口句柄並以這種方式獲取?

謝謝!


編輯:我知道OpenDialog.Handle將返回句柄,但僅當對話框可見時(否則為0)。 在顯示對話框后,我需要一個事件來直接捕獲Handle(無需任何用戶操作,即:在對話框中選擇一個項目,更改文件類型,等等)。

我想獲得由Delphi應用程序打開的新的遠景樣式Open / SaveDialog的窗口句柄。

可通過對話框的Handle屬性使用。

捕獲對話框顯示事件的最簡單方法可能是使用在顯示對話框之前立即設置的CBT掛鈎,並在關閉對話框后立即將其刪除。

TOpenDialog有一個OnShow事件,該事件在顯示對話框之后立即觸發,因此您可以使用它來獲取OpenDialog.Handle,因為此時已設置了句柄。

編輯:在某些人指出使用OnShow事件更改對話框外觀之后,我對此進行了測試,並可以確認使用OnShow事件確實確實更改了對話框性能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM