Вернуться   Компьютерный форум > Компьютеры > Программы > Программирование
 
 
Опции темы
Старый 02.01.2009, 00:22   #1 (ссылка)
Новичок
 
Регистрация: 30.05.2008
Сообщений: 18
Репутация: 0
По умолчанию Помогите подправить прогу( Assembler)

Есть прога(текст ниже)...Она издает гудок при нажатии каждой 2 кропки,необходимо чтобы при нажатии каждой 2 клавиши она издавала щелчек.Подскажите где подправить и что
.386
.model flat, stdcall
option casemap:none
;подключаемые модули
include c:\masm32\include\windows.inc
include c:\masm32\include\user32.inc
include c:\masm32\include\kernel32.inc
include c:\masm32\include\gdi32.inc
;подключаемые библиотеки
includelib c:\masm32\lib\user32.lib
includelib c:\masm32\lib\kernel32.lib
includelib c:\masm32\lib\gdi32.lib
WinMain PROTO :DWORD,:DWORD,:DWORD,:DWORD
WndProc PROTO :DWORD,:DWORD,:DWORD,:DWORD
;Инициализация переменных
.data
szDisplayName DB "Курсовая СПО Иванюк Дмитрий Иванович",0
CommandLine DD 0
hWnd DD 0
hInstance DD 0
szClassName DB "Demo_Class", 0
sTitle DB "Введите символ", 0
sMsg DB "Вы ввели вторую букву : "
cll DB ?, 0 ;переменная хранящая введенный символ
koll DB 0
.code
start:
push NULL
call GetModuleHandle
mov hInstance, EAX
call GetCommandLine
mov CommandLine, EAX
push SW_SHOWDEFAULT
push CommandLine
push NULL
push hInstance
call WinMain
push EAX
call ExitProcess
WinMain proc hInst :DWORD,
hPrevInst :DWORD,
CmdLine :DWORD,
CmdShow :DWORD

;локальные переменные процедуры

LOCAL wc :WNDCLASSEX
LOCAL msg :MSG

;инициализация окна

mov wc.cbSize, sizeof WNDCLASSEX
mov wc.style, CS_HREDRAW or CS_VREDRAW
mov wc.lpfnWndProc, offset WndProc
mov wc.cbClsExtra, NULL
mov wc.cbWndExtra, NULL
push hInst
pop wc.hInstance
mov wc.hbrBackground, COLOR_BTNFACE+9
mov wc.lpszMenuName, NULL
mov wc.lpszClassName, offset szClassName
invoke LoadIcon, NULL, IDI_APPLICATION
mov wc.hIcon, EAX
invoke LoadCursor, NULL, IDC_ARROW
mov wc.hCursor, EAX
mov wc.hIconSm, 0
invoke RegisterClassEx, ADDR wc
invoke CreateWindowEx, WS_EX_OVERLAPPEDWINDOW, ADDR szClassName, \
ADDR szDisplayName, WS_OVERLAPPEDWINDOW, \
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, \
CW_USEDEFAULT, NULL, NULL, hInst, NULL
mov hWnd, EAX
invoke ShowWindow, hWnd, SW_SHOWNORMAL
invoke UpdateWindow, hWnd

;______________________

StartLoop:
push 0
push 0
push NULL
lea EAX, msg
push EAX
call GetMessage
cmp EAX, 0
je ExitLoop
lea EAX, msg
push EAX
call TranslateMessage
lea EAX, msg
push EAX
call DispatchMessage
jmp StartLoop
ExitLoop:
mov EAX,msg.wParam
ret
WinMain endp

;_____________________

WndProc proc hWin :DWORD,
uMsg :DWORD,
wParam :DWORD,
lParam :DWORD,

LOCAL hdc :HDC
LOCAL ps :PAINTSTRUCT
cmp uMsg, WM_PAINT
jne next_1
invoke BeginPaint, hWnd, ADDR ps
mov hdc, EAX
lea EDX, ps
push EDX
push hWnd
call EndPaint
ret

;получение и обработка клавиш

next_1:
cmp uMsg, WM_CHAR
jne next_2
mov EAX,wParam
mov cll, AL

;возврат данных для окна

;проверка какая по счету буква

cmp koll, 0
jz next_12

cmp koll, 1
jz next_11

next_11:

mov koll, 0
jmp next_13

next_12:
mov koll, 1
jmp next_2

next_13:

push MB_OK
push offset sTitle
push offset sMsg
push 0
call MessageBeep ;возпроизводит звук если messagebox то выводит окно
ret

;вывод и закрытие окна по сигналу

next_2:

cmp uMsg, WM_DESTROY
jne next_3
push NULL
call PostQuitMessage
xor EAX, EAX
ret

next_3:

push lParam
push wParam
push uMsg
push hWin
call DefWindowProc
ret

WndProc endp

end start
DisDisDis вне форума  
Старый 08.01.2009, 17:40   #2 (ссылка)
Новичок
 
Аватар для extensa
 
Регистрация: 10.12.2008
Сообщений: 240
Репутация: 5
По умолчанию

попробуй push MB_OK заменить на push MB_ICONASTERISK
extensa вне форума  
Ads
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти прогу "День рождения" /expert Офис 1 21.11.2010 21:31
Проблема с загрузкой win xp что нужно подправить? rockkley Операционные системы 13 09.08.2010 07:20
Посоветуйте прогу DVD в avi zvuk270 Мультимедиа 8 25.07.2010 11:30
Посоветуйте прогу nail58 Мультимедиа 10 15.07.2010 10:23
помогите найти прогу для блютуза mobilkot Программы 2 11.07.2010 16:52
Помогите найти прогу для наложения эффектов на видео mazahacker Программы 1 11.07.2010 16:42
помогите найти прогу для решения проблемы HelpPLLLZ Программы 8 28.06.2010 10:30
Посоветуйте прогу nail58 Утилиты 8 30.03.2010 17:28
Помогите запустить прогу! zvuk270 Мультимедиа 5 19.02.2010 22:53
Порекомендуйте прогу BIZON5799 Графика 3 24.05.2009 20:27
Помогите написать прогу! Fuj_1000 Программирование 4 02.07.2008 20:54
куплю прогу 1223 Реклама, объявления 2 18.02.2008 05:10


Текущее время: 14:37. Часовой пояс GMT +4. Powered by vBulletin® Version 5.8.9
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.