Код (Text): .ELSEIF uMsg==WM_SIZE invoke GetDlgItem,hWnd,ID_EDIT mov hEdit, eax mov eax, lParam mov dx,ax mov eax, lParam shr eax, 16 invoke MoveWindow,hEdit, 0, 0, edx, eax,TRUE ... invoke ReadFile, hFile, pMemory,MEMSIZE-1,addr SizeWriteRead,NULL invoke GetDlgItem,hWnd,ID_EDIT mov hEdit, eax invoke SendMessage,hEdit,WM_SETTEXT,NULL,pMemory
все равно не показывает...а смысл использовать GetDlgItem? я же получаю хендл с функции CreateWindowsEx
Русская справка по оли http://www.cracklab.ru/download.php?action=get&n=NTgw Почитай цикл статей http://www.wasm.ru/article.php?article=ollydbg01
Да, и сохраняешь его в локальной переменной. При следующем после WM_CREATE сообщении в переменной hEdit будет все, что угодно, но не хендл окна.
ок. понял. Если перенести данную переменную в глобальную область эта проблема себя исчерпает. или же все равно есть угроза перезаписи памяти? начал читать статьи по Оли, но пока не могу понять до конца какого рода ошибку искать.. кто подскажет?
да Для начала скажи, появился ли edit в клиентской части после добавления GetDlgItem (или переноса hEdit в глобальную область). В обработчик WM_SIZE еще добавь: Код (Text): mov eax, lParam xor edx, edx ; <= mov dx,ax
контрола как оказалось и нет( штурмую потихоньку Олю и кое-что нарыл...поставил бряк на ф-ю CreateWindowEx, прога на ней встала, я нажеал ф8, а в еах остались нули, т.е хендла контрола нет, глядим в дамп. нули... в чем причина может быть господа?
А сам разбираться пробовал? P.S. Вот тут, например все очень доступно написано http://www.wasm.ru/article.php?article=1001009
Ой. А если просто повнимательнее всмотреться в махонький асм-файл: раскомментировать CreateWindowEx(EditClass), окончить 0-м - Код (Text): EditClass db "Edit" заменить '.else' на '.elseif ax==IDM_BTN4' вот здесь: Код (Text): .else invoke DestroyWindow,hWnd .endif Конечно, это лишь первичная реанимация...
Керро твой совет совершенно не дает ответ на мой вопрос, зачем тогда его давать..про Эдит лан пропустил...а смысл второго совета вообще не пойму...зачем мне лишний цикл, если мне не важно какое идет сообщение в том месте все на дестрой ставиться