vb.net中使用sendkeys遥控:
`g\gTh 大家在vb6中都用过sendkeys,幕通过发送键盘的事件间接地控制外部程序,是有遥控之说。
XEHqv>U| 我在vb7中却发现这个不能用了, 也就不了了之,后来一次在查阅msdn的时候竟看到了这个,是以尝试了一下,竟然旧貌新颜,还是一样好用。
-&4T3'|GT V9[`.8E B c}c2+$w Q"/-"cHtJ CaB`x%tE HQe5 d_J 主要是在system.winforms族中找到sendkeys 使用方法同vb6
hpO2UHT 键:一般的字符键如下输入”a” “b” “c”………………”z”等,如果要连续按下两个以上就使用”ab”的形式如果同时按下ab就使用括号如”(ab)”
z}q}[jT5 4zE T? 如果是功能键,就放到大括号中如“{f4}” 另:用+代表shift,用^代表ctrl,用%代表alt
!qB{jTVY I<-yj.(Gb? 如“+a”表示按下shift同时按a
`R\SFEK 8stw{nV2sm 下面是一个例子:
Q#MXFyq O3DkNe+ dim sdstr as system.winforms.sendkeys
uW yjoAM sdstr.send("%{f4}") 发送alt+f4
2 w< '_trG /M,p Jd3t 下面这个代码在按下button2以后转移焦点到下一个控件,使按钮能按下又不能按受焦点.
@1b!d 5 ; l={; protected sub button2_click(byval sender as object, byval e
i NBQSQl as system.eventargs)
X/M*Wn dim sdstr as system.winforms.sendkeys
cd]N>5++ sdstr.send("{tab}")
Vd1oe> P[ end sub
c|.T bj, ~^/P&b/+ 下面使用sendwait,使用的方法同上,不过执行这个过程会等待到发送的键执行完成以后,再继续执行后面的代码.
bFr hZ\} Z 8@@Ps:jE protected sub button2_click(byval sender as object, byval e
<|2lLepH as system.eventargs)
3I =* dim sdstr as system.winforms.sendkeys
1@up1e;iB. 'sdstr.send("{tab}")
yPK]udEZ sdstr.sendwait("{tab}")
kr++ s end sub
H'b?aZ s2 Duyq2&lSY[ vb.net中使用shell调用外部程序:
\yan1<" W@WFUr/&] shell(pathname as string,[style as
43a Czz"] microsoft.visualbasic.appwinstyle=2],[wait as
,K&5'x[JC boolean=false],[timeout as integer=-1]) as integer
O&;f-<W'< xx-ojP 调用资源管理器
=/rB M B;Lk-BMC; dim pid as integer
]?k5K pid = shell("explorer.exe
http://vbnetcn.126.com",
'lo<X microsoft.visualbasic.appwinstyle.normalfocus, true)
<".u3k B1jzq6tJ 调用默认程序
XW~7P{>Y3r *y(w9h= dim pid as integer
ml*c .Q pid = shell("start.exe mailto:vbnetcn@163.com",
f|->+C c microsoft.visualbasic.appwinstyle.hide, true)
qHJ%{D' D(V=P2{ 使用microsoft.visualbasic.appwinstyle.hide参数是为了隐藏程序
(S#q{n[K 运行时跳出的dos窗口。