VC讀寫其他程序ListCtrl資料到本程序的執行個體,下面用Windows任務管理器來做測試:
1、捕獲視窗句柄:
用SPY++可以看到如下父子視窗關系:
添加ListCtrl,設定style / Report、關聯控件變量m_ListCtrl,再添加一個按鈕,如下圖:
2、相關代碼:
讀取檔案清單:
3、程式運作效果:
4、程式不足:
A、在擷取任務管理器“程序”标簽内容時,因為有些清單項沒有顯示、即它的iSubItem項被設定隐藏(設定為0寬度即可),是以需要在“檢視”/ “選擇列”打開相關選項,不然你可能會覺得程式讀錯。(如果切換成“使用者”标簽則不會.)
B、在擷取SysListView32句柄時,有些程式的ListCtrl某些列是可編輯的,這裡我還沒有搞明白為什麼可編輯的沒有擷取到,比如像這樣的:
(比如檔案清單試圖裡,檔案名是可以編輯的,擷取這個又沒有問題,這個編輯區域有點像個指定大小的EditBox,不知道這程式是如何重寫的CListCtrl類,或是那個開源的項目,見過或用過的友友請說聲哈!)
這種可編輯的ListCtrl内容該怎麼擷取,哪位兄弟知道的,麻煩你有空請告訴我一聲吧!