2013-03-19 3 views
0

У меня проблема с SendKeys. Я сделал Keybinder для многопользовательской онлайн-игры. Если зарегистрирован ключ, например: Numlock 1, мое программное обеспечение отправляет слово или буквы или что-то в текстовом поле1. все работает нормально. Пример кода: My.Computer.Keyboard.SendKeys (TextBox1.Text)VB.NET - Проблемы с Sendkey

Но если я зарегистрировать Numlock1 и Numlock2 и установить SendKey Значение Numlock1 на «Привет» и ценность Numlock2 к «Это стоит 100 $ «программное обеспечение заменяет 1 в Numlock2 значением Numlock1.

Я из германии, мои навыки не так хорошо, но я надеюсь, что я все объяснил понятную :)

Stein

+1

Мы были бы признательны некоторые коды. –

+0

Я не уверен, что вы подразумеваете под «Numlock1» и «Numlock2» ??? –

ответ

0

Я уверен, что нет клавиатуры с кнопкой Numlock2, и я не полностью понимаете ваш вопрос. Может быть, вы хотите переключить кнопку Numlock?

Вот как переключить [Numluck] в приложении VB.net:

В Visual Studio 2013, скомпилировать эту часть открытого исходного кода как C# консольное приложение. Файл sendkey.exe можно использовать в окне команд.

sendkey v0.0.1

В VB.NET, использовать SendKey v0.0.1, как это:

Public Class ExecVBNet 
Shared Sub Execut(command as String, arguments as String, permanent as Boolean) 
    Dim p as Process = new Process() 
    Dim pi as ProcessStartInfo = new ProcessStartInfo() 
    pi.Arguments = " " + if(permanent = true, "/K" , "/C") + " " + command + " " + arguments 
    pi.FileName = "cmd.exe" 
    p.StartInfo = pi 
    p.Start() 
End Sub 
End Class 

и нажмите кнопку NumLock, как это. Это похоже на нажатие (вниз) и однократное нажатие кнопки (вверх). В результате кнопка переключается.

ExecVBNet.Execut("Sendkey", "NUMLOCK down", true) 
ExecVBNet.Execut("Sendkey", "NUMLOCK up", true) 

В методе Execut, вы также можете непосредственно использовать «sendkey.exe» вместо того, чтобы открыть окно консоли с «cmd.exe»

Смежные вопросы