И снова assembler...  
Автор Сообщение



<КРОВАВЫЙ ПЫЛЕСОС>


Сервер: Страж Смерти
0
Сообщение И снова assembler...

Собстенно имею Tasm 5.0 x32 и хп на виртуал боксе.

столкнулся с двумя проблемами:

1) нужно перевести монитор в спящий (ждущий режим), 

я так понимаю есть байт памяти отвечающий за эту фигню?

или это делается через видюху?

(программист из меня некудышный)

2) нужно считать код индетификации производителя монитора,

опять же не могу найти откуда считывать.

 

P.S. очевидно что 2 часа работы с гуглом плодов не принесли , и очевидно, что на форумах посвящённых программированию темы давно созданы.

нашёл вариант под fasm, но он не катит.



07 май 2013, 21:10
Профиль Skype

0
Сообщение И снова assembler...

сдисамблируй какую нить прогу которая имеет данную функцию



07 май 2013, 21:53
Профиль

0
Сообщение И снова assembler...

надо именно монитор перевести в спящий режим. сам пк не надо переводить?

 

из ассемблера я знаю только команды (mov, add, sub, div, etc...), но можно ли вызывать функции из dll?

если да, то есть задумка...

 



07 май 2013, 21:57
Профиль



<КРОВАВЫЙ ПЫЛЕСОС>


Сервер: Страж Смерти
0
Сообщение И снова assembler...

это идея конешно, но с первым вариантом помог человек, подсказал kernel32 и user32 библиотеки.

 

да, именно из длл, мне подкинули вариант.

 

; В FASM не определена константа HWND_BROADCAST, сделаем это самостоятельно
HWND_BROADCAST = 0FFFFh
; Выключить монитор
invoke SendMessage, HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2



07 май 2013, 21:59
Профиль Skype

0
Сообщение И снова assembler...

я говорил за это из winapi

 

edit:

2). можно больше инфы о id монитора?

 

edit2:

ты, вероятно, подразумевал серийный номер монитора?



07 май 2013, 22:00
Профиль



<КРОВАВЫЙ ПЫЛЕСОС>


Сервер: Страж Смерти
0
Сообщение И снова assembler...

ну вообщем индетификация производителя монитора нужна, она состоит из трёх первых символови вероятно ещё чего-то (SAM для самсунга), тоесть как я понимаю занимает 3 полных байта (ASCII-строка) 



07 май 2013, 22:35
Профиль Skype

0
Сообщение И снова assembler...

Тебе же написали вариант, просто вызвать винапи функцию с конкретными параметрами.

Если тасм не понимает винапи функции, то делаем прогу которая прогружает нужную dll и получает хэндлер функции по имени и вызывает её. Как загрузить длл и вызвать из неё функцию нагугли.

 

Про ID монитора - бред, ибо все мониторы идут плугнплэй и могут вообще не определяться по марке и т.д.

Ты можешь поставить ПнП монитор и всё равно эта прога будет работать (которая через вызов функции винапи)


http://fci-h.blogspot.com/2007/03/turn-off-your-monitor-via-code-c.html - вот тут всё написано, только сделать на асме осталось



07 май 2013, 22:58
Профиль WWW



<КРОВАВЫЙ ПЫЛЕСОС>


Сервер: Страж Смерти
0
Сообщение И снова assembler...

вот собственно что надо.

насчёт первого, уже сделал.

 

Да, если что, эти две проги которые делаю не как не связаны между собой.



07 май 2013, 23:13
Профиль Skype

0
Сообщение И снова assembler...

Про вторую задачу не думал, скоре всего тоже вызов системной функции на получение инфы от драйвера.

http://msdn.microsoft.com/en-us/library/windows/desktop/dd144942%28v=vs.85%29.aspx - вроде похоже вот это



07 май 2013, 23:29
Профиль WWW



<КРОВАВЫЙ ПЫЛЕСОС>


Сервер: Страж Смерти
0
Сообщение И снова assembler...

спасибо большое

 



07 май 2013, 23:38
Профиль Skype
Начать новую тему Ответить на тему


Перейти:  

На сайте использованы материалы, принадлежащие Blizzard Entertainment. Копирование материалов возможно только c разрешения портала. В противном случае это будет называться уже другим словом.
Рейтинг@Mail.ru