Je souhaite pouvoir sélectionner quel élément est sélectionné dans la liste d'un autre programme (je n'ai pas accès à son code). En fait, c'est un SysListView32, que je suppose être le même. J'ai déjà le code suivant, ce qui malheureusement malgré la compilation, semble ne rien faire (même si SendMessage() renvoie 1).Réglage de l'élément sélectionné de la vue liste d'un autre programme
process=OpenProcess(PROCESS_VM_OPERATION|PROCESS_VM_READ|PROCESS_VM_WRITE|PROCESS_QUERY_INFORMATION, FALSE, 0xD14);
_lvi=(LVITEM*)VirtualAllocEx(process, NULL, sizeof(LVITEM), MEM_COMMIT, PAGE_READWRITE);
lvi.state = LVIS_SELECTED | LVIS_FOCUSED;
lvi.stateMask = LVIS_SELECTED | LVIS_FOCUSED;
WriteProcessMemory(process, _lvi, &lvi, sizeof(LVITEM), NULL);
int abc = ::SendMessage((HWND)0x00050D30, LVM_SETITEMSTATE, (WPARAM)2, (LPARAM)_lvi);
VirtualFreeEx(process, _lvi, 0, MEM_RELEASE);
Pas vraiment: LVM_SETITEMSTATE spécifie que l'état de l'élément sera modifié. Pour ce message, le masque est ignoré. – Rom