Не могу найти, как создается ListBox/SysListView32

therest

Руссифицирую прогу, с корейского, осталось перевести только одну табличку разобрал прогу c помощью IDA, на всю прорамму один вызов функции CreateWindowEx и он несоздает табличку, а создает элемент класса tooltips_class32 если больше вызовов CreateWindowEx нету то как создается эта табличка ? есть какой то другой способ ? разобрал ресурсы там этот компонент описывается так :
102 DIALOGEX 0, 0, 611, 423, 0 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUPWINDOW | WS_VISIBLE | WS_DLGFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX EXSTYLE WS_EX_ACCEPTFILES | WS_EX_APPWINDOW CAPTION "Program name" LANGUAGE LANG_RUSSIAN, SUBLANG_NEUTRAL FONT 9, "MS Shell Dlg" { ... CONTROL "", 1017, "SysListView32", WS_BORDER | WS_TABSTOP | 0x00000805, 460, 220, 144, 196 .... }
4 ответа

therest

Нашел функцию CreateDialogIndirectParamW скорей всего онатакой вопрос возник, результат вызова этой функции это дескриптор созданного компонента, после того как функция отработала где он находиться ?
loc_4311BC:             ; dwInitParam
push    ***
push    offset DialogFunc ; lpDialogFunc
push    eax             ; hWndParent
push    edi             ; lpTemplate
push    dword ptr [***+10h] ; hInstance
call    ds:CreateDialogIndirectParamW
mov     ecx, [***-1Ch]
add     ecx, 0FFFFFFF0h
mov     edi, eax
call    sub_401170
or      dword ptr [***-4], 0FFFFFFFFh
jmp     short loc_431204


therest

А DialogBoxParam/CreateDialogParam?Опоздал
HWND CreateDialogIndirectParam(          HINSTANCE hInstance,
    LPCDLGTEMPLATE lpTemplate,
    HWND hWndParent,
    DLGPROC lpDialogFunc,
    LPARAM lParamInit
);
Возвращаемый результат в EAX после call ds:CreateDialogIndirectParamW


therest

А DialogBoxParam/CreateDialogParam?Опоздал
HWND CreateDialogIndirectParam(          HINSTANCE hInstance,
    LPCDLGTEMPLATE lpTemplate,
    HWND hWndParent,
    DLGPROC lpDialogFunc,
    LPARAM lParamInit
);
Возвращаемый результат в EAX после call ds:CreateDialogIndirectParamW
Спасибо!А какая функция может менять названия столбцов кроме SetDlgItemText ?установка брейкпойнта на нее ничего не дала видимо используется какая-то другая функция


therest

Почитайте LVM_SETITEMTEXT