天天看點

VC擷取其他程序ListCtrl内容

VC讀寫其他程序ListCtrl資料到本程序的執行個體,下面用Windows任務管理器來做測試:

1、捕獲視窗句柄:

     用SPY++可以看到如下父子視窗關系:

VC擷取其他程式ListCtrl内容

     添加ListCtrl,設定style / Report、關聯控件變量m_ListCtrl,再添加一個按鈕,如下圖:

VC擷取其他程式ListCtrl内容

2、相關代碼:

VC擷取其他程式ListCtrl内容

讀取檔案清單:

3、程式運作效果:

VC擷取其他程式ListCtrl内容
VC擷取其他程式ListCtrl内容

4、程式不足:

     A、在擷取任務管理器“程序”标簽内容時,因為有些清單項沒有顯示、即它的iSubItem項被設定隐藏(設定為0寬度即可),是以需要在“檢視”/ “選擇列”打開相關選項,不然你可能會覺得程式讀錯。(如果切換成“使用者”标簽則不會.)

     B、在擷取SysListView32句柄時,有些程式的ListCtrl某些列是可編輯的,這裡我還沒有搞明白為什麼可編輯的沒有擷取到,比如像這樣的:

VC擷取其他程式ListCtrl内容

 (比如檔案清單試圖裡,檔案名是可以編輯的,擷取這個又沒有問題,這個編輯區域有點像個指定大小的EditBox,不知道這程式是如何重寫的CListCtrl類,或是那個開源的項目,見過或用過的友友請說聲哈!)

這種可編輯的ListCtrl内容該怎麼擷取,哪位兄弟知道的,麻煩你有空請告訴我一聲吧!