簡體   English   中英

Win32API我的窗口如何跟隨現有窗口

[英]Win32API How can my window follow to existing window

致所有Win32專業人士。 假設我們已經完成了帶窗口的現有應用程序。 任務是用(我的)窗口編寫另一個應用程序。 用戶在屏幕上移動現有窗口時,我的窗口必須始終將其左邊緣與現有窗口的右邊緣對齊(用戶不允許我的窗口移動)。

前提:a)現有窗口不能被子類化b)Windows鈎子不屬於這種情況。


是的,看起來不錯。 我沒問過這個問題是否會成為問題。 忘了說OS是Vista 2,應用是IE。 我嘗試制作一個遵循IE主窗口的應用程序,將其邊緣對齊。 不允許IE的子類化,並且SetWindowsHook在普通用戶下不能正常工作(當用戶具有管理員權限時,應用程序可以正常工作)。 大家談論的這種方式在Vista之前的Windows下都可以使用。

並且看起來沒有簡單的方法可以解決此任務。 謝謝你們。

我想你不能沒有鈎。 SetWindowLong允許您設置WndProc,但是如果窗口屬於其他應用程序,則此方法將無效。

如果您不想/不能子類或設置全局掛鈎,則可以查看以下內容:

  • 在DLL中實現代碼
  • 在LoadLibrary的地址和DLL的名稱上調用CreateRemoteThread,以將DLL注入目標進程
  • 在DLL的DllMain中,您可以僅在擁有窗口的線程上使用SetWindowHook。 這是一個本地鈎子,不需要特殊特權,對系統非常好。
  • 在掛鈎函數中,在主窗口的HWND上處理WM_WINDOWPOSCHANGED並相應地調整窗口。

暫無
暫無

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

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