如題,檢測到系統中有兩個或者多個視窗類名和標題都相同,可以通過什么方法區分這些視窗?
uj5u.com熱心網友回復:
同一行程嗎?視窗大小是不是一樣uj5u.com熱心網友回復:
通過視窗句柄 HWND 區分uj5u.com熱心網友回復:
對呀,為什么不呢?
uj5u.com熱心網友回復:
同一個行程,大小一樣的。
uj5u.com熱心網友回復:
HWND每次打開程式會不同吧?
uj5u.com熱心網友回復:
能和被檢測視窗訊息通信么?uj5u.com熱心網友回復:
能和被檢測視窗訊息通信么?
第三方的視窗,不能和它通信。
uj5u.com熱心網友回復:
大家可以這么設想,創建一個默認的MFC對話框程式,啥都不改,編譯生成一個exe。然后雙擊兩次,打開兩個視窗。如何在每次重新打開時區分他們?uj5u.com熱心網友回復:
掛個全域訊息鉤子, 攔截視窗創建訊息當目標視窗創建時你把 HWND 和特定引數系結起來
你后面查詢的時候根據特定引數就能找到這個 HWND 了
uj5u.com熱心網友回復:
大家可以這么設想,創建一個默認的MFC對話框程式,啥都不改,編譯生成一個exe。然后雙擊兩次,打開兩個視窗。如何在每次重新打開時區分他們?
那就不是單行程創建多個同樣的視窗,
用GetWindowThreadProcessId()獲取視窗所屬行程ID來區分吧
uj5u.com熱心網友回復:
"可以通過什么方法區分這些視窗"區分視窗 hWnd
你的 問題 不是 區分 , 是 識別 即 找到 你要 的 視窗
uj5u.com熱心網友回復:
應該是你的需求有誤同一個exe執行兩次,如果exe本身不對外發送資料或者產生聯系的話,只能知道兩個不同的handle,但這應該不是你要的,比如說起來100個你怎么辦?
uj5u.com熱心網友回復:
你的具體需求是什么,你問題中的需求我覺得實作不了uj5u.com熱心網友回復:
看看表單內部子控制元件有沒有不一樣的uj5u.com熱心網友回復:
如果兩個表單對于父視窗的位置固定不變的話就先獲取一個然后通過getnextwindow獲取另一個
uj5u.com熱心網友回復:
"可以通過什么方法區分這些視窗"
區分視窗 hWnd
你的 問題 不是 區分 , 是 識別 即 找到 你要 的 視窗
到位,的確是要識別。
uj5u.com熱心網友回復:
你的具體需求是什么,你問題中的需求我覺得實作不了[/quote
針對一些第三方程式視窗做一點小動作。需求主要是如何識別這些特定視窗。uj5u.com熱心網友回復:
大家可以這么設想,創建一個默認的MFC對話框程式,啥都不改,編譯生成一個exe。然后雙擊兩次,打開兩個視窗。如何在每次重新打開時區分他們?
你的區分原則是什么,你要要有區分的特征,特征區分有什么意義? 你晚上吃飯還區分吃的是哪幾顆米粒不成?或者要區分哪些米粒是先下鍋的?轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/62476.html
標籤:基礎類
