Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

請教Windows的Listview

0 views
Skip to first unread message

還是買ASUS比較安心

unread,
Jun 26, 2001, 2:20:29 AM6/26/01
to
※ 本文轉錄自 [programming] 看板

作者: wayjj (還是買ASUS比較安心) 看板: programming
標題: 請教Windows的Listview
時間: Tue Jun 26 10:40:04 2001

各位 Windows programming 的高手,如果在 Win32 下有一隻 GUI 為 dialog based
AP,名為 ap1。 在這 ap1 中我有個 ListView control。

現在我有另一隻 ap2 ,想要抓 ap1 的 ListView 內的 Listitem 的 text 內容,請問
這樣 跨 AP 的 access 是被允許的嗎 ?

我知道用 ListView_GetItemText 中的 buffer 會有 memory space 不同的問題
但是 如果是 Edit control ,我 try 過用 WM_GETTEXT 是可以做到的,我猜 Windows
有處理過,但 Listview 我不管用 MACRO ListView_GetItemText 或是 Message
LVM_GETITEMTEXT 都是不行的。請問這種不同 AP 之間的 access 有什麼方法呢 ?

PS. 有個先決條件是 ap1 不是我寫的,所以我沒辦法在 ap1 作一些 IPC 的手腳 ...

謝謝各位先進的指點 !!
--
※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ From: itrifw.itri.org.tw

在錯的時間裡找錯的人

unread,
Jun 26, 2001, 6:36:48 AM6/26/01
to
※ 引述《wayjj (還是買ASUS比較安心)》之銘言:

ListView_GetItemText 傳回的是一個pointer.
而這個pointer指向的是屬於ap1的位址,
你在ap2存取同樣的位址當然拿不到東西

解決的方法.. 我想到一個方法, 不過我沒實際試過
就是用ReadProcessMemory去讀那一段位址.
第二個方法我試過是可行的~ 但是有點像是殺雞取卵...
用Hook掛進ap1去執行,因為此hook function將會在ap1的address中執行
因此hook function可以讀得到ap1所有位址的資料,再過任何inter-process的
communication機制回傳給ap2即可~

不知道有沒有人有更簡便的方法呢?


ps : GetWindowText之所以可行是因為windows對GetWindowText有做特別的處理


--
※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ From: 211.21.191.127

還是買ASUS比較安心

unread,
Jun 26, 2001, 9:04:24 PM6/26/01
to
※ 引述《Wiseman (在錯的時間裡找錯的人)》之銘言:

> ListView_GetItemText 傳回的是一個pointer.
> 而這個pointer指向的是屬於ap1的位址,
> 你在ap2存取同樣的位址當然拿不到東西
> 解決的方法.. 我想到一個方法, 不過我沒實際試過
> 就是用ReadProcessMemory去讀那一段位址.

我在試試,謝謝 ...

> 第二個方法我試過是可行的~ 但是有點像是殺雞取卵...
> 用Hook掛進ap1去執行,因為此hook function將會在ap1的address中執行
> 因此hook function可以讀得到ap1所有位址的資料,再過任何inter-process的
> communication機制回傳給ap2即可~

應該可行,但我希望寫一個能跨 NT / WinCE 皆可執行的 code ...
而 CE 不支援 Hook ..

> 不知道有沒有人有更簡便的方法呢?
> ps : GetWindowText之所以可行是因為windows對GetWindowText有做特別的處理

非常感謝您,我會再試試
--
※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ From: itrifw.itri.org.tw

0 new messages