Форум программистов, компьютерный форум, киберфорум
Assembler: Windows/protected mode
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 26.09.2018
Сообщений: 55

Поменять цвет фона консоли, цвет символов, позицию курсора, изменение действия на левую кнопку мыши

05.12.2021, 21:25. Показов 1057. Ответов 0

Студворк — интернет-сервис помощи студентам
Дана такая программа, которая умножает два числа. Цвет фона нужно поменять на белый, цвет символов на зеленый, позицию курсора на (30;10), поменять действие с Enter на левую кнопку мыши.
Проблемы начались с того, что я не могу понять сканкод левой кнопки мыши. У меня Windows10. В программе указан сканкод клавиши Enter, я так понимаю это число 12, но в интернете говориться, что это число может быть как 16 так и 284. Тоже дилемма. Так же возникли трудности с заменой цвета и позиционированием. Числа, на которые я меняю не подходят или вообще ничего не делают


Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
.386                    
.model flat, stdcall            
option casemap :none                            
include C:\masm32\include\windows.inc   
include <\masm32\include\kernel32.inc>
include <\masm32\include\user32.inc>
includelib <\masm32\lib\kernel32.lib>
includelib <\masm32\lib\user32.lib>
include \masm32\include\masm32rt.inc
atoi PROTO C strptr:DWORD
.data 
   msg1 db "1 chislo: ", 0 
   msg2 db "2 chislo: ", 0
   ConsoleTitle db 'Lb4',0
formatStr db "Proizvedenie: %s*%s=%d", 0
.data? 
   buffer1 dw 100 dup(?)
   buffer2 dw 100 dup(?)
   buffer3 dw 100 dup(?)
   buf db 100 dup (?)
   lens db ?
.code 
start proc
   LOCAL hOutPut :DWORD
   LOCAL hInPut :DWORD
   LOCAL txtAtrib :DWORD
   call FreeConsole
   call AllocConsole
   invoke SetConsoleTitle, offset ConsoleTitle
   invoke GetStdHandle, STD_OUTPUT_HANDLE
   mov hOutPut, eax
   invoke GetStdHandle, STD_INPUT_HANDLE
   mov hInPut, eax
   mov EAX, 4h
   add EAX, 0h
mov txtAtrib, eax
   invoke SetConsoleTextAttribute, hOutPut, txtAtrib
   invoke SetConsoleCursorPosition, hOutPut, 655400
   push hOutPut
   lea eax, msg1
   push eax
   call StdOut
   push hInPut
   push 100
   lea eax, buffer1
   push eax
   call StdIn
   invoke SetConsoleCursorPosition, hOutPut, 655415
   push hOutPut
   lea eax, msg2
   push eax
   call StdOut
   push hInPut
   push 100
lea eax, buffer2
   push eax
   call StdIn
   ;invoke StdIn, offset buffer2, 100, hInPut
   invoke atoi, offset buffer1
   mov ebx,eax
   invoke atoi, offset buffer2
   imul eax,ebx
   invoke wsprintf, offset buffer3, offset formatStr, offset buffer1, offset buffer2, eax
   invoke SetConsoleCursorPosition, hOutPut, 655430
   push hOutPut
   lea eax,buffer3
push eax
   call StdOut
WaitForCaps:
   invoke  GetAsyncKeyState, 12
   and     eax,    8000h
   jz      WaitForCaps
   invoke ExitProcess, NULL
start endp
end start
StdIn proc Buffer:DWORD,bLen:DWORD, InPut:DWORD
   LOCAL bRead  :DWORD
   invoke ReadFile,Input,Buffer,bLen,ADDR bRead,NULL
   mov eax, bRead
   ret
 
StdIn endp
StdOut proc Text:DWORD, OutPut:DWORD
    LOCAL bWritten :DWORD
    LOCAL sl       :DWORD
    invoke StrLen,Text
    mov sl, eax
    invoke WriteFile,OutPut,Text,sl,ADDR bWritten,NULL
    mov eax, bWritten
    ret              
StdOut endp
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.12.2021, 21:25
Ответы с готовыми решениями:

Движение курсора мыши должно плавно менять цвет фона окна.
точнее 2 1) Движение курсора мыши должно плавно менять цвет фона окна. Левый верхний угол - красный цвет фона. Правый верхний -...

Поменять цвет фона и текста, а также местоположение курсора
Задание таково: надо поменять цвет фона и текста а также местоположение курсора. изначально я написал код без Console.Clear(); ...

Как поменять цвет фона кнопки и цвет текста на кнопке?
имеется код: //Кнопка &quot;Выход&quot; CreateWindow(TEXT(&quot;button&quot;), TEXT(&quot;Выход&quot;), WS_CHILD|WS_VISIBLE|BS_OWNERDRAW, 170, 180, 120, 30, hWnd,...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.12.2021, 21:25
Помогаю со студенческими работами здесь

Ввести символы с клавиатуры. Цвет символов - белый, цвет фона - синий
Нужно написать программу, которая позволит вводить символы из клавиатуры, цвет символов - белый, цвет фона - синий. Я в ассемблере...

Как поменять цвет текста консоли на любой цвет из RGB цветов
Цвет консоли можно поменять используя только 16 встроенных цветов или можно использовать комбинации RGB? Console.ForegroundColor =...

Как убрать кнопку "крестик" и поменять цвет фона в форме?
Помогите, пожалуйста, сам искал способ, но не нашел. Не могу убрать с формы &quot;крестик&quot; и поменять цвет фона на черный.

Как изменить цвет курсора ввода и курсора мыши в элементе Edit
Всем Здравия. Проблема в следующем, задал цвет фона и цвет текста в Edit, тут все нормально, но обнаружилось что при некоторых цветах...

Заполнить массив координатами курсора при нажатии на левую кнопку мыши
Здравствуйте, не мне нужно заполнить массив координатами курсора при нажатии на левую кнопку мыши. Первые два элемента массива я заполнил...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru