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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2012, 15:42   #1
Rust.am
 
Регистрация: 15.01.2011
Сообщений: 3
По умолчанию Удаленное управление клавиатурой (Delphi 7)

Здрствуйте, пишу Программу удаленного управления и возникла проблема...
Как передать на удаленный компьютор клавиши с символами типа ; : . , и тд.

так же как с буквами не прокатывает
Код:
if (ssShift in Shift)and(key = Ord('Y')) then MainForm.ClientSocket1.Socket.SendText('KeyShY***' + '_' + IntToStr((a*100)div 80) + '_' + IntToStr((b*100)div 80)) else
if (ssCtrl in Shift)and(key = Ord('Y')) then MainForm.ClientSocket1.Socket.SendText('KeyCtrY**' + '_' + IntToStr((a*100)div 80) + '_' + IntToStr((b*100)div 80)) else
if (key = Ord('Y')) then MainForm.ClientSocket1.Socket.SendText('KeyY*****' + '_' + IntToStr((a*100)div 80) + '_' + IntToStr((b*100)div 80)) else
и как с функциональными клавишами тоже
Код:
if key = VK_DELETE then MainForm.ClientSocket1.Socket.SendText('KeyDel***' + '_' + IntToStr((a*100)div 80) + '_' + IntToStr((b*100)div 80)) else
if key = VK_RETURN then MainForm.ClientSocket1.Socket.SendText('KeyEnt***' + '_' + IntToStr((a*100)div 80) + '_' + IntToStr((b*100)div 80)) else
пробовал так -
Код:
if (ssShift in Shift)and(key = ord(';')) then MainForm.ClientSocket1.Socket.SendText('KeySh;***' + '_' + IntToStr((a*100)div 80) + '_' + IntToStr((b*100)div 80)) else
if (ssCtrl in Shift)and(key = Ord(';')) then MainForm.ClientSocket1.Socket.SendText('KeyCtr;**' + '_' + IntToStr((a*100)div 80) + '_' + IntToStr((b*100)div 80)) else
if (key = Ord(';')) then MainForm.ClientSocket1.Socket.SendText('Key;*****' + '_' + IntToStr((a*100)div 80) + '_' + IntToStr((b*100)div 80)) else

не срабатывает...

и еще очень странная ошибка - не передается маленькая "с" хотя с другими буквами таких проблем нет
Rust.am вне форума Ответить с цитированием
Старый 25.02.2012, 22:53   #2
maxwallaby
Пользователь
 
Аватар для maxwallaby
 
Регистрация: 15.09.2011
Сообщений: 17
По умолчанию

Я может и не достаточно компетентный в работе с сетями и тонкостей не знаю, но возможно как вариант передавать скан-коды клавиш?
maxwallaby вне форума Ответить с цитированием
Старый 26.02.2012, 12:21   #3
Rust.am
 
Регистрация: 15.01.2011
Сообщений: 3
По умолчанию

А можно чуть подробнее?
Rust.am вне форума Ответить с цитированием
Старый 27.02.2012, 01:16   #4
maxwallaby
Пользователь
 
Аватар для maxwallaby
 
Регистрация: 15.09.2011
Сообщений: 17
По умолчанию

Ну скан-коды нужны для распознавания клавиш на аппаратном уровне и соответственно у каждой свой код. Я просто не знаю логики и принципов того что Вы делаете, поэтому не знаю как преподнести. Таблицу скан-кодов легко найти в интернете, а вот ещё материал по данной теме:
Расшифровка скан-кодов (Delphi): http://pblog.ru/?p=840
Думаю должно быть полезно почитать про ремаппинг: http://habrahabr.ru/blogs/windows/75290/
и собственно про преобразование:
http://www.delphisources.ru/pages/fa...scan_code.html
http://www.webdelphi.ru/2009/08/rabo...-kody-klavish/
maxwallaby вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаленное управление приложением. karapuzekee Помощь студентам 0 22.12.2011 01:55
Удаленное управление Joslen_bomon Компьютерное железо 3 07.11.2011 18:10
удаленное управление устройством! Gambler Работа с сетью в Delphi 11 29.10.2009 12:12
Удаленное управление страницей SuBwooFer JavaScript, Ajax 2 29.08.2009 14:40