Поэтому я пытаюсь создать приложение для получения содержимого моих списков просмотра проводника и получения текста элемента и т. Д. Из него, но вот проблемы ...
Если я проверяю папку проводника Windows (используя spy ++)со списком, только для целей тестирования, я буду использовать случайную папку.
Это показывает, что заголовок окна "FolderView" с классом "SysListView32", а окно верхнего уровня, в которое вложен этот просмотр списка, называется "ссылка", это также название папки проводника Windows, где всефайлы:
Так что я делаю ..
HWND hWndLV = FindWindow(NULL, TEXT("reference")); // first i get hwnd of the main window, this is where listview window is also nested according to spy++, thats why i do this first.
HWND child = FindWindowEx(hWndLV, NULL,NULL,TEXT("FolderView")); // trying to get hwnd of the listview here but it fails, same happens if i also put the class name along as
HWND child = FindWindowEx(hWndLV, NULL,TEXT("SysListView32"),TEXT("FolderView"));
Я использую bool test = IsWindow(child);
для проверки на сбой, также VS отладчик показывает 0x0000000000
каждый раз, так что я уверенЯ хорошо читаю результаты.
Так что я застрял на этой, вероятно, простой вещи для большинства людей: (* 1014 *
ps Я на Vista64 (если это все равно имеет значение)
edit: кажется, что эта функция работает, только если я ищу первый вложенный уровень родительского окна, которое я ищу. Поэтому я предполагаю, что мне нужен способ получить ручку с каким-то глубоким поиском на уровне вложенности.
Я также пытался идти шаг за шагом, определяя hwnd каждого родителя, затем я использую для него findwindowex, но, о боже, я дошел до того, что есть 5 вложенных окон с одинаковыми именами, и только одно из них содержит мой списокtview, так мило, а?