Вопрос № 99414: Уважаемые эксперты
ХеллоВорлд
взято с сайта ассембер для Dzенствуюших.
Откомпилировал создал exe
запускается но увы никакого ожидаемого сообшения нема.
так вот транслировал и компоновал
ml /c /coff myfile.asm
link /subsys...Вопрос № 99463: Проверьте код пожалуйста. Изменение в ключе не производится этой программой, хотя должно. Работаю я под админской учеткой, никаких Касперских не установлено, F5 я в редакторе реестра не забывал нажать. Тип у параметра ключа реестра - DWORD, так что з...
Вопрос № 99.414
Уважаемые эксперты
ХеллоВорлд
взято с сайта ассембер для Dzенствуюших.
Откомпилировал создал exe
запускается но увы никакого ожидаемого сообшения нема.
так вот транслировал и компоновал
ml /c /coff myfile.asm
link /subsystem:windows /libpath:c:masm32lib myfile.obj
никаких ошибок не было, все показало ок.
Запускаю экзешник, секунды на 2-3 все чуток замирает и все.
Masm32 9 версия. WinXP SP2 Processor Pentium D двухголовый
Где собака порылась?
С бубном танцевал , ниче не помогло.
Приложение:
Отправлен: 23.08.2007, 15:36
Вопрос задал: Olmel (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Olmel!
Исполнимые программы для Windows делятся на два основных типа — консольные(SUBSYSTEM:CONSOLE) и графические(SUBSYSTEM:WINDOWS) приложения. У Вас консольное приложение.
В статье есть такой *.bat-файл: c: oolsmasm32inml /c /coff hello.asm
c: oolsmasm32inlink /SUBSYSTEM:CONSOLE /LIBPATH:c:masm32lib hello.obj
Удачи!
--------- И только наступив на грабли мы приобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Специалист)
Ответ отправлен: 23.08.2007, 16:20 Оценка за ответ: 5 Комментарий оценки: Спасибо все оказалось так просто. Как говориться слона то я и не заметил )) Правда я никогда их и не видел.
Отвечает: Бурка Юрий Викторович
Здравствуйте, Olmel!
Просто консоли не создается.
Ее нужно либо вручную создать через AllocConsole,
либо линковать с ключем /Subsystem:colnsole, а не
/Subsystem:windows, тогда будет работать
А сейчас - если проверить отладчиком - видно, что
при попытке получить хэндл консоли - происходит
ошибка и программа просто ждет две секунды.
И еще, раз уж используете invoke, то в его конструкции
можно использовать не offset, a addr
--------- З.Ы. И восьми бит тебе в байте.
Ответ отправил: Бурка Юрий Викторович (статус: 1-ый класс)
Ответ отправлен: 23.08.2007, 18:01 Оценка за ответ: 5 Комментарий оценки: Да,изменение на Subsystem:console дало полоджительный результат.
Вопрос № 99.463
Проверьте код пожалуйста. Изменение в ключе не производится этой программой, хотя должно. Работаю я под админской учеткой, никаких Касперских не установлено, F5 я в редакторе реестра не забывал нажать. Тип у параметра ключа реестра - DWORD, так что здесь все совпадает.
Приложение:
Отправлен: 23.08.2007, 22:57
Вопрос задал: Blackie (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Sov
Здравствуйте, Blackie!
Какой раздел реестра вы пытаетесь открыть?
HKEY_CURRENT_USER или HKEY_LOCAL_MACHINE? В переменной szKeyName его указывать не нужно
...
szKeyName db 'SOFTWAREInformaticContext6.0IniSetApplication', 0
...
invoke RegOpenKeyEx, HKEY_CURRENT_USER, addr szKeyName, NULL, KEY_ALL_ACCESS , addr hKey
Если этот раздел не существует и его нужно создать
invoke RegCreateKeyEx , HKEY_LOCAL_MACHINE,addr szKeyName, NULL, NULL,
REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS, NULL,addr hKey, NULL