【问题标题】:VB.NET - Problems with SendkeyVB.NET - Sendkey 的问题
【发布时间】:2013-03-19 20:05:42
【问题描述】:

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

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

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

斯坦

【问题讨论】:

  • 我们将不胜感激。
  • 我不确定你所说的“Numlock1”和“Numlock2”是什么意思???

标签: .net vb.net exception sendkeys


【解决方案1】:

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

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

在 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

然后像这样按下数字锁定按钮。它类似于按下(向下)和按下(向上)一次按钮。结果是,按钮被切换。

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

在Execut方法中,也可以直接使用“sendkey.exe”,而不用“cmd.exe”打开控制台窗口

【讨论】:

    猜你喜欢
    • 2015-04-04
    • 1970-01-01
    • 2010-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-22
    • 1970-01-01
    相关资源
    最近更新 更多