Изначально просьба к модераторам раздела не удалять этот топик. В этом топике мне хотелось бы задавать вопросы которые затрудняют исследования (пока рано) и программированию под Win32. Прежде всего это мой первый язык программирования. Многое прочитал, многое ещё нет по техническим причинам (нет подходящей литературы в бумажном виде в моём городе), электронный вид задолбал (лучше воспринимается в тихой обстановке за кружечкой чая ). На данном этапе пробую разобраться с тутами Iczelion-на. Сейчас у меня такой вопрос (изучаю окна). Как допустим создать окно которое выглядело бы нестандартно, т.е. Внутри был битмап заголовок битмапом. Какие библиотеки надо подключать, какие функции вызывать. Вопрос для тех кто уже пишет своё: "каким способом вы пишет - через invoke или каждый атрибут заталкиваете push-ем типа: invoke MessageBox, NULL, addr MsgBoxText, addr MsgBoxCaption, MB_OK или push 0 push MsgBoxCaption push MsgBoxText push 0 call MessageBox" как лучше привыкать писать в листенге? Пока всё но на самом деле вопросов куча + тележка.
Добро пожаловать на форум. а распечатать? это правильно. только постарайся пройти все туторы от начала до конца, а потом уже задавать вопросы. т.к. получив базовые знания, некоторые вопросы отпадут сами собой посмотри сорсы ключегенов Canterwood'a в основном invoke, в некоторых случаях - call, при множестве повторяющихся вызовов и оптимизации пуша параметров
Ага спс. Насчёт изучить всего изелиона %) крыша поедет, т.к. он учит от простого к сложному, но дело в том что в этом "простом" трудно разобраться если не сталкивался с программированием. После того как нашёл справочник по АПИ я это понял. Каждая функция, структура, вкл. в себя есчё константы и т.д. и т.п. Таким образом я начал копать и получилось так, чтоб создать элементарное окно необходимо знать просто уйму переменных и доп. значений. Тупо сделать по мануалам (ничего не понимая, зато зная что WinMine - нужна для классификации окна, а как она работает-трам-парарам) и сказать что я освоил - не хочу, да и какой смысл. Смотерть чужие сорсы - честно говоря я не всё понимаю, к тому же там много нового и непонятного, и как там найти то что мне нужно :/ Распечатать к сожалению книжки не могу нет возможности (на струйнике задолбишься распечатовать).
Не зацикливайся долго на непонятных вещах, скомилируй, посмотри как работает, попробуй разобратся и дуй вперед. Со временем вернешься назад и все поймешь. Найди себе сенсея, хотя бы на первое время, который пояснит основные моменты.(это необязательное условие, но так все осваивается гораздо быстрее) Удачи!
zl3p оо, зря вы так, если никогда так не делали, то обязательно попробуйте, плюсы очевидны (ну если вы конечно не аналог ms office пишете (хотя я и такое не исключаю )
лабы по асму лучше делоть под вин, чем пад дос, т.к. не надо возицо с такой фегней как получение строки из числа, формировать вывод руками.. да и в конечном счете отлаживать удобнее олей, чем тем же турбадебагерсом
На данном этапе так и получается. Смотришь в начало а там всё по полачкам разложенно и думаешь как всё эллементарно. Спасибо огромное Bitfry за его "Дневник чайника" - очень классная штука Чтива1-3 на КракЛабе чтива 0 на сайте http://bitfry.narod.ru/ Также спасибо Владимиру Соковикову-переведены большинство функций API (для новичков рекомендую), без него исследование было бы в слепую. http://vsokovikov.narod.ru/ Вот это мне действительно очень помогло бы. Форум конечно хорошо, но сколько людей - столько и мнений, и узнать что-то конкретное бывает очень долго, а иногда и неправильно. Ну тут я вообщемто не понимаю. Любые высокоуровневые языки программирования в отладчике выходят совсем по другому, и понять как воздействует та или иная функция на стек на регистры, флаги - это помоему самое главное. Например пишишь ты прогу, собираешь, а она тебе какой-нибудь ЕРОР - заезжаешь в отладчик и трасируешь,трасируешь, пока не выскочит ошибка, а дальше тебе просто надо понимать с какого места мы вывалились. Может я не прав и программирование на С, Дэлфи и др. работают по своим законам? Просто освоив асс под Винду, хочу перейти к более высокоуровнему языку (но это будет не скоро, но терпения хватит). Пока продолжаю Тут 3-4 Iczelion-на, от скинов под обычное окно пока отказался, из-за недостаточности знаний. Спс всем!
Просьба помочь, кто чем может. Учу асму по Зубкову. Вроде все более-менне понятно. Но тут проблемка с прогой, которая отключает КапсЛок, СкроллЛок, НамЛок.Компилится норм, но ниче она не отключает. По ходу, мож не по тому адресу находится байт состояния клавы(опечатки в этой книжке бывают :-((()?Привожу суть проги xor ax,ax mov ds,ax mov byte ptr ds:0417h,al. Или я шось не так делаю?Плиз помогите. Заранее благодареню
Уважаемый Nolipse, может быть я и не прав, но наверное вы запускаете свою программу под Win, а то о чем написано у Зубкова, требует загрузки под DOS
Nolipse Не видя всей программы, сказать сложно, но в этом фрагменте кода нет вывода в порт, т.е. клава команды не получает, а значит, ничего отключить и не может.
Не, загружаю я под эмулятором доса, а вся прога(9 строк =)) выглядит так: .model tiny .code org 100h start: xor ax,ax mov ds,ax mov byte ptr ds:0417h,al ret end start ИМХО, тут вывод-то в порт не обязателен, если можно изменить байт состояния клавы.Прога эта- пример Зубкого. Спасибо, что не осудили мое " чайничество" =).Заранее спасибо.
Это *.СОМ программа. Запусти в чистом DOS и всё будет меняться. Я тоже был удивлён что заменой байта состояния можно светодиоды включать/выключать - но реально работает Видно BIOS мониторит, или фиг его знает.
Господа програмисты помогите. Короче разбираюсь с тутами Зелиона и 3 уроке просто вывод окна на экран. Я хочу сделать свою иконку в заголовке. Добавляю в фай .rc свою иконку #define IDB_MYBITMAp 100 IDB_MYBITMAp ICON "c:\Trening\1\PUC.ico" в листинге прописываю константу: .const IDB_MYBITMAp equ 100 меняя в вызове функции лоад икон стандартную на IDB_MYBITMAp Правильно делал? Если да то как это компильнуть? Как в бат-ке прописать файл .rc
Код (Text): cls if exist %1.exe del %1.exe if not exist %1.rc goto over1 \masm32\bin\rc /v %1.rc \masm32\bin\cvtres /machine:ix86 %1.res \masm32\bin\ml /c /Cp /Gz /Ic:\masm32\include /coff /nologo %1.asm if errorlevel 1 goto TheEnd \masm32\bin\Link /SUBSYSTEM:WINDOWS /LIBPATH:c:\masm32\lib /NOLOGO %1.obj %1.res if errorlevel 1 goto TheEnd del %1.res goto TheEnd :over1 \masm32\bin\ml /c /Cp /Gz /Ic:\masm32\include /coff /nologo %1.asm if errorlevel 1 goto TheEnd \masm32\bin\Link /SUBSYSTEM:WINDOWS /LIBPATH:c:\masm32\lib /NOLOGO %1.obj :TheEnd if exist %1.obj del %1.obj содержимое универсального бата, помещенного в Win/system32. Я работаю в far'e где у меня прописаны ассоциации с asm-файлами. То что касается подключения rc-файлов - даю им то же имя что и для asm-файлов и помещаю их в ту же папку подключение rc-файла посмотри строки 3-7 в батнике
Mikl__ Спасибо Всё равно компилятор сообщает что не может найти иконку по данному в rc пути. Окнос меню собирает а к иконки не хочет подходить. Может я неправильно её описал?