Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 22.12.2010, 14:33   #1
Alex_VK
 
Регистрация: 22.12.2010
Сообщений: 3
По умолчанию API Win32 в ассемблере

Пожалуйста помогите решить 2 несложные задачи по API Win32 в ассемблере :

1. Написать любую программу, использующую PeekConsoleInput (хоть по нажатию клавиши писать в консольке её код .... весь инет перелопатил - не нашел, к чему её притулить)

2. Прочитать строку из файла, обработать и записать в файл (обработчик сам сделаю)

Все желательно (но необязательно) на Tasm32
Заранее благодарю
Alex_VK вне форума
Старый 24.12.2010, 02:51   #2
Nika912
Новичок
Джуниор
 
Регистрация: 24.12.2010
Сообщений: 1
По умолчанию

1. На месте щелчка мыши появляется надпись:
Код:
.486
.model flat, STDCALL   
%NOINCL			
include WindowConA.inc
extrn	AllocConsole:PROC
extrn	SetConsoleTitleA:PROC
extrn	SetConsoleCursorPosition:PROC
extrn	GetStdHandle:PROC
extrn	ReadConsoleInputA:PROC
extrn	WriteConsoleA:PROC
extrn	ExitProcess:PROC

SSHORT equ <dw 0>

Coord	struc
xx	SSHORT
yy	SSHORT
Coord	ends

INPUT_RECORD struc
EventType dw 0
	  dw 0
	  struc 		
	  x_M	dw	0
	  y_M	dw	0
	  ends
dwButtonState	dd	0
dwControlKeyState	dd	0
dwEventFlags	dd	0
ends

.data
INPUT_RECORD_buf INPUT_RECORD <>
n_record	dd	0	
con		Coord	<>
dIn		dd	0	
dOut		dd	0	
NumWri		dd	0	
				
TitleText db	"Заголовок", 0
Text_Out db	"Может быть любой текст!"
Len_Text=$-Text_Out
.code
start	proc	near
	
	call AllocConsole
	
	test eax, eax
	jz exit
	push STD_OUTPUT_HANDLE
	call GetStdHandle
	mov dOut, eax
	push STD_INPUT_HANDLE
	call GetStdHandle
	mov dIn, eax
	;
	push offset TitleText
	call SetConsoleTitleA
	test eax, eax
	jz exit
cycl:
	mov INPUT_RECORD_buf.EventType, 0
	push offset n_record
	push 1
	push offset INPUT_RECORD_buf
	push dIn
	call ReadConsoleInputA
	cmp eax, 0
	jz exit
	cmp INPUT_RECORD_buf.EventType, MOUSE_EVENT
	jne cycl
	bt INPUT_RECORD_buf.dwButtonState, 0
	jc left_buf
	bt INPUT_RECORD_buf.dwButtonState, 1
	jc exit
	jmp cycl
left_buf:
	mov ax, INPUT_RECORD_buf.x_M
	mov con.xx,ax
	mov ax, INPUT_RECORD_buf.y_M
	mov con.yy,ax
	push con
	push dOut
	call SetConsoleCursorPosition
	cmp eax, 0
	jz exit
	push 0
	push offset NumWri
	push Len_Text
	push offset Text_Out
	push dOut
	call WriteConsoleA
	cmp eax, 0
	jz exit		
	jmp cycl
exit:
	push 0
	call ExitProcess
start endp
end start
второй исходник завтра кину.

Последний раз редактировалось artemavd; 24.12.2010 в 03:32.
Nika912 вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
win32 API.Visual Studio 2008.Создание проекта Win32 Aleksandr_Yanov Visual C++ 2 12.09.2010 13:09
Win32 API. VS2008. Как создать приложение win32 в vs2008? Aleksandr_Yanov Visual C++ 4 12.09.2010 00:59
Win32 Api revaldo666 Win Api 10 06.07.2010 00:48
Простые числа в Win32 APi asd874 Помощь студентам 0 23.05.2010 00:02
Win32 Api! alexov Общие вопросы C/C++ 7 09.02.2009 22:25