Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: программирование на языке Assembler


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler

Выпуск № 412
от 30.03.2006, 03:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 289, Экспертов: 24
В номере:Вопросов: 2, Ответов: 3


Вопрос № 38371: Вечер добрый, Уважаемые Эксперты! У меня возникла проблемма - я написал программу, которая просто создает окно (см. приложение). Все впринципе работает нормально, но почему-то по нажатию на крестик в углу, само окно закрывается, а процесс (в спис...
Вопрос № 38387: Здравствуйте. Как узнать свой IP ? Пример предпочтительно на MASM32....

Вопрос № 38.371
Вечер добрый, Уважаемые Эксперты!
У меня возникла проблемма - я написал программу, которая просто создает окно (см. приложение). Все впринципе работает нормально, но почему-то по нажатию на крестик в углу, само окно закрывается, а процесс (в списках процессов) не исчезает. В отладчике увидел, что функция GetMessage возвращает 1 даже при получении сообщения WM_QUIT, но в MSDN написано, что эта функция должна возвращать 0 ( http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/messagesandmessagequeues/messagesandmessagequeuesreference/messagesandmessagequeuesfunctions/getmessage.asp ). В чем может быть проблемма? Может надо эту функцию какой-нибудь другой заменить?

Приложение:

Отправлен: 24.03.2006, 01:37
Вопрос задал: Zloy_pes (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Joy~
Здравствуйте, Zloy_pes!
Ошиблись чуть чуть в коде
wndproc proc
mov eax,[ebp+10h]; <------------------------ Вот здесь не 0Ch а 10h
cmp eax,WM_DESTROY
jne @not_exit
push 0
call PostQuitMessage
jmp @end_check
not_exit:
jmp DefWindowProc
end_check:
ret 16
wndproc endp
---------
Прорвёмся....
Ответ отправил: Joy~ (статус: 4-ый класс)
Ответ отправлен: 24.03.2006, 08:17

Отвечает: Евгений Иванов
Здравствуйте, Zloy_pes!
Нет, там будет именно 12, потому что параметра 4, они передаются справа налево, и последним в стеке будет адрес возврата. Чтобы добраться до второго параметра (слева), нужно именно прибавить 12. Но не к EBP, а к ESP в данном случае.

---------
Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Россия, Нижний Новгород
Тел.: +79087645721
Организация: M2Media.ru
Адрес: Нижний Новгород, ул.Малая Ямская, д. 66
WWW: Eugene Ivanov
ICQ: 214;88;90;76
----
Ответ отправлен: 24.03.2006, 09:52


Вопрос № 38.387
Здравствуйте.
Как узнать свой IP ?
Пример предпочтительно на MASM32.
Отправлен: 24.03.2006, 08:28
Вопрос задал: Brutaller (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Лысков Игорь Витальевич
Здравствуйте, Brutaller!
Готовый пример не дам, на асме нет, а лепить нет времени, уж извини :(
Зато даю решение, даже четыре
1. Непосредственно через реестр (проблем с реализацией нет?)
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters/Interfaces/{тут какой-то гуид}. Ключик IPAddress все тебе раскажет!
Перебери все гуиды(некоторые показывают 0.0.0.0)
2.Зайди сюда, тут три реализации (правда, на С :()
http://rsdn.ru/forum/Message.aspx?mid=725977&only=1
http://rsdn.ru/Forum/?mid=43085

---------
Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: Студент)
Ответ отправлен: 24.03.2006, 10:05


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.20 (beta) от 17.03.2006
Яндекс Rambler's Top100

В избранное