Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Ассемблер? Это просто! Учимся программировать


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler (Ассемблер)

Выпуск № 538
от 07.09.2006, 13:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 346, Экспертов: 28
В номере:Вопросов: 4, Ответов: 5


Вопрос № 53980: Доброго времени суток уважаемые эксперты. У меня возник вопрос. Состояние Shift или Ctrl в мыши что-ли ?? Что бы проверить эти клавиши надо обрабатывать маус. Можно ли проверить эти клавиши без мауса??. Заранее благодарю, уважаемые экспер...
Вопрос № 54022: Доброго времени суток уважаемые эксперты. Если у кого есть и кому не трудно пришлите пожалуйста хороший API-справочник по почте ne-89@mail.ru , или дайте ссылку(бесплатную). Заранее благодарю, уважаемые эксперты. ...
Вопрос № 54024: Доброго времени суток уважаемые эксперты. Вот уроки iczelion’a – не плохой материал. А кто такой этот Iczelion, это псевдоним?, просто интересно Заранее благодарю, уважаемые эксперты. ..
Вопрос № 54037: Здравствуйте еще раз. Хочу узнать: а можно ли получить доступ к процессам, расположенным в памяти. Ну например взять и завершить explorer.exe или winlogon.exe, или что нибудь типа того. По идее эти процессы тоже должны располагаться в памяти по адрес...

Вопрос № 53.980
Доброго времени суток уважаемые эксперты.
У меня возник вопрос.
Состояние Shift или Ctrl в мыши что-ли ?? Что бы проверить эти клавиши надо обрабатывать маус. Можно ли проверить эти клавиши без мауса??.
Заранее благодарю, уважаемые эксперты.
Отправлен: 01.09.2006, 13:00
Вопрос задал: ENS (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Олег Владимирович
Здравствуйте, ENS!

Ctrl и Shift относятся к клавиатуре, и мышь тут ни при чём. Есть такая функция прерывания клавиатуры - INT 16h - AH=02h, которая при вызове в AL возвращает следующие биты:
7-режим вставки(INSERT) включён, если 1
6-CapsLock ON
5-NumLock ON
4-ScrollLock ON
3- в момент вызова нажата ALT, если 1
2- -//- CTRL
1- -//- левый SHIFT
0- -//- правый SHIFT
AH при вызове изменяется!

Good luck!
---------
Факультет ПМ-ПУ - лучший в СПбГУ!
Ответ отправил: Олег Владимирович (статус: 2-ой класс)
Ответ отправлен: 01.09.2006, 18:57

Отвечает: Xaud
Здравствуйте, ENS!

Вопрос понятен, явно это относится к Win32 и сообщению WM_LBUTTONUP, WM_LBUTTONDOWN и им подобным, ведь с нимим предается состояние вмртуальных клавиш CTRL и SHIFT.

Конечно же, эти клавиши не в мыши, просто так сделано для удобства.

Если в любой момент нужно проверить состояние клавиш SHIFT и CTRL можно сделать гораздо проще:

invoke GetAsyncKeyState,nVirtualKeyCode

, где nVirtualKeyCode принимает одно из значений VK_SHIFT, VK_CONTROL, VK_MENU, VK_LSHIFT, VK_RSHIFT, VK_LCONTROL, VK_RCONTROL, VK_LMENU, VK_RMENU. R и L - соответственно правая и левая (можно использовать R и L только под Windows NT).

если 0 - текущий процесс не имеет фокуса ввода,
иначе:
самый старший бит 0/1 - не нажата/нажата указанная клавиша,
самый младший бит 0/1 - клавиша не изменила/изменила свое состояние с последнего вызова данной функции.

Ответ отправил: Xaud (статус: 1-ый класс)
Ответ отправлен: 03.09.2006, 15:59
Оценка за ответ: 5


Вопрос № 54.022
Доброго времени суток уважаемые эксперты.
Если у кого есть и кому не трудно пришлите пожалуйста хороший API-справочник по почте
ne-89@mail.ru , или дайте ссылку(бесплатную).
Заранее благодарю, уважаемые эксперты.
Отправлен: 01.09.2006, 20:09
Вопрос задал: ENS (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Wild_one
Здравствуйте, ENS!
Загляните сюда http://rusfaq.ru/info/Question/53926
Справочник выслал :)
Ответ отправил: Wild_one (статус: 3-ий класс)
Ответ отправлен: 01.09.2006, 21:34
Оценка за ответ: 5


Вопрос № 54.024
Доброго времени суток уважаемые эксперты.
Вот уроки iczelion’a – не плохой материал. А кто такой этот Iczelion, это псевдоним?, просто интересно
Заранее благодарю, уважаемые эксперты.

Отправлен: 01.09.2006, 20:10
Вопрос задал: ENS (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Brutaller
Здравствуйте, ENS!
Что-то не похоже на настоящее имя ;)
Вот его сайт http://spiff.tripnet.se/~iczelion/
Ответ отправил: Brutaller (статус: 2-ой класс)
Ответ отправлен: 01.09.2006, 20:23


Вопрос № 54.037
Здравствуйте еще раз. Хочу узнать: а можно ли получить доступ к процессам, расположенным в памяти. Ну например взять и завершить explorer.exe или winlogon.exe, или что нибудь типа того. По идее эти процессы тоже должны располагаться в памяти по адресу cs:ip или нет ?
Отправлен: 01.09.2006, 23:39
Вопрос задал: Whiteman (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: ENS
Здравствуйте, Whiteman!
Не всё так просто,каждая Win32 программы одна одинешенька в адресном пространстве, и "нащупать" в памяти эти процессы не так то просто, можно что изменить там, но "нащупать процесс практически невозможно
Ответ отправил: ENS (статус: 1-ый класс)
Ответ отправлен: 02.09.2006, 13:24
Оценка за ответ: 4
Комментарий оценки:
Ну как в таком случае изменить что-нибудь ?


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

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


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.36 от 06.09.2006
Яндекс Rambler's Top100

В избранное