vb.net中使用sendkeys无效?

我用的是VS2005vb编程我想使用数字软键盘输入用户名和密码(都是数字),代码如下PrivateSubbtn1_Click(ByValsenderAsSystem.Ob... 我用的是VS 2005 vb编程
我想使用数字软键盘输入用户名和密码(都是数字),代码如下

Private Sub btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn1.Click
System.Windows.Forms.SendKeys.Send("1")
End Sub

在运行时,光标停在textbox里点击了btn1(两个都在一个form里),可是却没有任何反应,textbox里没有显示1,而且光标的位置也不再textbox里了.
是不是用sendkeys需要什么条件?还是我的用法有错误?希望高手指点下,谢谢!
展开
 我来答
东哥zld
推荐于2018-03-28 · 机械自动化爱好者
东哥zld
机械自动化爱好者
采纳数:204 获赞数:17741
毕业不久,正在努力创造自己的骄傲

向TA提问 私信TA
展开全部
vb.net中使用sendkeys无效,是因为窗口没有处于活动状态。

VB6的SendKeys有时有些问题,比如打开任务管理器,以下代码可以:
  Sub main()
  Dim WshShell As Object
  Set WshShell = CreateObject("WScript.Shell")
  WshShell.SendKeys "^+{ESC}"
  End Sub
  以下代码却不可以:
  Sub main()
  SendKeys "^+{ESC}"
  End Sub
  所以最好使用WScript.Shell中的SendKeys。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hpconline
推荐于2016-11-13 · TA获得超过288个赞
知道小有建树答主
回答量:267
采纳率:0%
帮助的人:372万
展开全部
这样试试SendKeys.Send("{1}")
还有,就是光标的问题,光标不在那,你发了也没用,先用 textbox.Focus() 这个函数名不知道对不对,你点了看是不是这个,先设置焦点,然后再发送键值
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
娜莉China
2015-10-17 · 知道合伙人教育行家
娜莉China
知道合伙人教育行家
采纳数:15251 获赞数:207517
没有

向TA提问 私信TA
展开全部
这样试试SendKeys.Send("{1}")。
还有,就是光标的问题,光标不在那,发了也没用,先用 textbox.Focus() 这个函数名不知道对不对,点了看是不是这个,先设置焦点,然后再发送键值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式