다른 프로세스의 목록보기에서 텍스트를 읽으려고합니다. 지금까지 행과 열 수를 얻을 수있었습니다. 이제 각 셀을 살펴보고 읽으려고합니다. 나는 약간의 연구를했고, 각 셀의 LVITEM을 얻기 위해 SendMessage를 사용해야한다는 것을 알았습니다. 나는 LVITEM.iItem이 행 #이어야하고 LVITEM.iSubItem이 컬럼 #이어야한다고 생각한다. 또한 어떻게 내 char * 텍스트를 가져 오는 것에 대해 갈 것입니다. CString :: GetBuffer를 사용하여 예제를 보았습니다. 하지만 나는 그렇게하지 않았기 때문에 동등하거나 다른 방법이 있을까요? 텍스트가 들어있는 메모리 블록이 다른 프로세스가 소유하고C에서 LVM_GETITEM 및 SendMessage를 사용하여 LVITEM 텍스트 가져 오기
char* itemText;
LVITEM itemInfo = {0};
itemInfo.iItem = r; // r is an int. this should be row # right?
itemInfo.iSubItem = c; // c is an int, this should be the column # right?
itemInfo.mask = LVIF_TEXT;
itemInfo.cchTextMax = 256;
itemInfo.pszText = itemText;
SendMessage(procList, 0x1005, 0, (LPARAM)&itemInfo);
. 감사! 어떻게하면 읽을 셀을 선택하겠습니까? 예를 들어 설명했거나 잘못 했습니까? – Lienau
@Lienau, 네, 관심있는 하위 항목 (열)을 나타 내기 위해 iSubItem 멤버를 사용합니다. 먼저 로컬 ListView를 사용하여 코드를 자신의 프로세스에서 처리하고 코드를 추가하여 마샬링, 작동 방식과 중단 시간의 각 단계를 알 수 있습니다. –