我有一個應用程序正在加載一個包含全局GetMessage鉤子的回調函數的庫。我得到該過程並將其傳遞給SetWindowsHookEx以針對所有正在運行的線程進行設置。EXE和Global Hook DLL之間的通信
問題是,我想讓DLL函數在像按鍵這樣的特定情況下告訴原始應用程序退出,而不是所有的應用程序。我能想到的唯一方法是在應用程序中創建一個窗口,並讓DLL調用SendMessage(HWND_BROADCAST)發送應用程序識別退出的自定義消息。但我想驗證這是否是最好的方法來做到這一點?
另一個問題也出現了。比方說,我希望DLL執行一些一次性初始化,例如打開一個文件。如果我在DllMain中這樣做,那麼它會多次執行此操作,因爲它已被多次加載。這是解決這個問題嗎?謝謝。