2016-04-25 44 views
0

情況:如何在Windows提示對話框時收到通知(即錯誤信息)?

用戶試圖將文件複製到一個目錄,他沒有寫權限的, 他將有一個對話框提示。

要求:

在一個單獨的不相關的進程,我想發生這種情況時得到通知。

可能的解決途徑:

  1. 訂閱系統事件(如果存在)。
  2. 使用掛鉤

這甚至可能嗎? 哪兩個是首選路徑?

的代碼示例,這樣做將是一個生命的救星......

+0

還有別的東西叫做訪問違規,我想你說的是訪問被拒絕 – Dani

+0

如果是這樣,有什麼想法? – barakcaf

+0

我懷疑你會在這裏得到一個鉤子,因爲沒有明顯的原因,爲什麼任何應用程序將需要一個 –

回答

1

使用SetWindowsHookEx()SetWinEventHook()可以在創建窗口和接收焦點時接收通知。然後,您可以分析窗口內容以查看它是否與您正在查找的內容相符,並據此採取相應措施。

+0

這似乎是一個好方法 - 我應該如何分析窗口內容?基於它的風格(假設所有對話框都有類似的風格)|或者你有其他想法? – barakcaf

+1

看看他們的標題,看看他們的孩子的窗戶,尋找你感興趣的文本。 –

-1

地方事件成爲一個try塊,如果用戶沒有訪問會失敗,並轉到catch塊,你可以使用產生的異常顯示對話框

+0

不是我想要的 - 編輯我的問題更精確 – barakcaf

+0

@shon您指的是什麼事件? –

+0

最初的問題的措辭就像它在應用程序運行時所暗示的那樣。值得注意的是,這仍然可以被記錄並記錄在數據庫中,以具有被拒絕的訪問的編譯列表以及與誰相關的 – Shon