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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2013, 13:19   #1
Greenbur
Пользователь
 
Регистрация: 08.04.2012
Сообщений: 10
По умолчанию Программное переключения KVM (aten 1784a)

Доброго времени суток.
У оператора имеется 4 машины выведенные через KVM (aten cs1784a) на монитор. Нужно путем нажатия 1-ой клавиши осуществить переключение между машинами.
Я планировал на 4 программируемые клавиши повесить 4 исполнительных файла, которые заменили бы нажатие {ScrolLock}{ScrolLock}{1или2 или3 или 4}{ENTER}. Но честно сказать мои попытки были тщетны.
Пробовал так:
Код:
Код:
numpad9::SendPlay {F1} 
Dim WshShell, WshExec 
Set WshShell = CreateObject("WScript.Shell") 
blnResult = WshShell.AppActivate(WshExec.ProcessID) 
If blnResult Then 
    WshShell.SendKeys "{ScrollLock}{ScrollLock}{ENTER}" 
Else 
    WScript.Echo "Не удалось активировать окно заданного приложения." 
End If 
Set WshExec = Nothing 
Set WshShell = Nothing 
WScript.Quit 0
но квмка игнорит такой способ. Подскажите пожалуйста что и как можно сделать для переключения.

Последний раз редактировалось Stilet; 13.06.2013 в 21:08.
Greenbur вне форума Ответить с цитированием
Старый 13.06.2013, 14:40   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...в смысле игнорит эмуляцию нажатий? Маловероятно. А физически кликать - не игнорит?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 13.06.2013, 15:11   #3
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Непонятно как WScript.Shell делает емуляцию нажатий...
Лучше смотреть в сторону http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
waleri на форуме Ответить с цитированием
Старый 13.06.2013, 19:21   #4
Greenbur
Пользователь
 
Регистрация: 08.04.2012
Сообщений: 10
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
...в смысле игнорит эмуляцию нажатий? Маловероятно. А физически кликать - не игнорит?
Игнорит, всмысле срабатывание эмуляции есть и индикация нажатия есть, а квмке это нажатие побоку.

Цитата:
Сообщение от raxp Посмотреть сообщение
Непонятно как WScript.Shell делает емуляцию нажатий...
Лучше смотреть в сторону http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
Буду пробовать.
Greenbur вне форума Ответить с цитированием
Старый 16.06.2013, 08:07   #5
Greenbur
Пользователь
 
Регистрация: 08.04.2012
Сообщений: 10
По умолчанию

Вот что получилось:
Цитата:
void SetSCROLLLOCK( BOOL )
keybd_event VK_SCROLL, 0, 0, 0
keybd_event VK_SCROLL, 0, KEYEVENTF_KEYUP, 0
Application.ProcessMessages
Sleep(300)
keybd_event VK_SCROLL, 0, 0, 0
keybd_event VK_SCROLL, 0, KEYEVENTF_KEYUP, 0
Application.ProcessMessages
Sleep(300)
keybd_event VK_NUMPAD1, 0, 0, 0
keybd_event VK_NUMPAD1, 0, KEYEVENTF_KEYUP, 0
Application.ProcessMessages
Sleep(300)
keybd_event VK_RETURN, 0, 0, 0
keybd_event VK_RETURN, 0, KEYEVENTF_KEYUP, 0
Только я не знаю как это дело засунуть в исполняемый файл, если просто тхт поменять на vbs, то появляется ошибка строка 1, символ 1 (Несоответствие типов 'SetScrolllock'). Подскажите кто знает.

Последний раз редактировалось Greenbur; 16.06.2013 в 10:40. Причина: 1
Greenbur вне форума Ответить с цитированием
Старый 16.06.2013, 11:44   #6
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...может для начала ознакомитесь с синтаксисом VBS, не?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 16.06.2013, 14:04   #7
Greenbur
Пользователь
 
Регистрация: 08.04.2012
Сообщений: 10
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
...может для начала ознакомитесь с синтаксисом VBS, не?
Меня направили на сталью я и переделал под себя.
А на vbs:
Цитата:
WShshell.SendKeys "{SCROLLLOCK}"
WScript.Sleep "300"
WshShell.SendKeys "{SCROLLLOCK}"
WScript.Sleep "300"
WshShell.SendKeys "{Enter}"
Но это не работает.
Greenbur вне форума Ответить с цитированием
Старый 16.06.2013, 15:29   #8
Greenbur
Пользователь
 
Регистрация: 08.04.2012
Сообщений: 10
По умолчанию

По моему проблема заключается в том, что как направить данные нажатия на квмку.
Greenbur вне форума Ответить с цитированием
Старый 20.06.2013, 20:56   #9
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Насколько я понимаю, нужно, чтобы в КВМ сигнал пришел со стороны клавиатуры.
Если можно заставить чип клавиатуры выдать такой сигнал - все нормально. Если нет - с этой идеей можно распрощаться, т.к. аппаратные проблемы программными средствами не решаются.
s-andriano вне форума Ответить с цитированием
Старый 21.06.2013, 19:31   #10
Greenbur
Пользователь
 
Регистрация: 08.04.2012
Сообщений: 10
По умолчанию

Цитата:
Сообщение от s-andriano Посмотреть сообщение
Насколько я понимаю, нужно, чтобы в КВМ сигнал пришел со стороны клавиатуры.
Если можно заставить чип клавиатуры выдать такой сигнал - все нормально. Если нет - с этой идеей можно распрощаться, т.к. аппаратные проблемы программными средствами не решаются.
Есть предложения как это сделать?
Силы и желание начинают потихоньку угасать, так что еще чуть чуть и я точно забью на эту идею.
Greenbur вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема переключения видеокарт на ноутбуке LiuLiuJons Компьютерное железо 12 24.02.2013 22:19
ComboBox для переключения языков на сайте 8Observer8 ASP.NET 0 10.02.2013 12:54
Кнопка переключения страниц! Dima090 HTML и CSS 1 28.05.2010 16:22
Переключения между Edit-ами??? FantomasRUS Общие вопросы Delphi 4 30.04.2010 13:27
Частота переключения asm-режима Alex Cones Софт 13 10.03.2010 10:30