0

我对 SendKeys 有疑问。我为在线多人游戏制作了 Keybinder。如果注册了一个键,例如:Numlock 1,我的软件会在 textbox1 中发送单词或字母或任何内容。一切正常。示例代码:My.Computer.Keyboard.SendKeys(Textbox1.text)

但是,如果我注册 Numlock1 和 Numlock2 并将 Numlock1 的 Sendkey 值设置为“Hi”,并将 Numlock2 的值设置为“It cost 100$”,软件会将 Numlock2 中的 1 替换为 Numlock1 的值。

我来自德国,我的技能不是很好,但我希望我已经解释了一切可以理解的:)

斯坦因

4

1 回答 1

0

我很确定没有带有 Numlock2 按钮的键盘,我不完全理解你的问题。也许您想切换 Numlock 按钮?

以下是在 VB.net 应用程序中切换 [Numluck] 的方法:

在 Visual Studio 2013 中,将这段开源代码编译为 C# 控制台应用程序。sendkey.exe 可以在命令窗口中使用。

发送密钥 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”打开控制台窗口

于 2017-06-13T16:55:47.700 回答