当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > Sendkeys 和 Sendmessage 使用技巧一例

ASP.NET
灵活正确的实现.NET插件机制
在Asp.net中为图像加入版权信息
重构Session确实让代码简洁干净了不少
JSP与ASP.Net之间的Session值共享
如何获取当前程序文件的路径 Current Path
在.NET框架应用程序中发送电子邮件
asp.net开发wap程序必备:识别来访手机品牌型号
ASP.NET 2.0中使用自定义provider
asp.net开发wap必备:更好的匹配手机设备
用ashx动态生成文件
ASP.NET中17种正则表达式
提高ASP.Net应用程序性能的十大方法
一个通过web.Mail发送邮件的类
在DataGrid里面根据日期的不同显示new图标
Asp.Net细节性问题精萃
自定义控件中使用枚举类型的属性(原创)
.NET开发 正则表达式中的 Bug
.Net学习:IronPython分析Lambda表达式
ASP.NET中的Response对象的方法
在ASP.NET 2.0中数据绑定的实现方法

ASP.NET 中的 Sendkeys 和 Sendmessage 使用技巧一例


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 184 ::
收藏到网摘: n/a


Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Function sqrx(ByVal x As Double) As String '计算平方根(比VB DOUBLE 类型精度高)
Dim temp As String, i As Long, j As Long
Shell "Calc.EXE", vbMinimizedNoFocus '运行计算器
temp = x & "y0.5="
For i = 1 To Len(temp)
SendKeys Mid(temp, i, 1), True '向计算器顺序发送按键消息X (X^Y) 0.5=
Next
temp = String(64, Chr(0))
i = FindWindow(vbNullString, "计算器") '窗口句柄
j = FindWindowEx(i, ByVal 0&, "Edit", vbNullString) '编辑框句柄
SendMessage j, &HD, Len(temp), ByVal temp '发送编辑框文本至temp

SendKeys "%{F4}", True '调用ALT+F4关闭计算器窗口
sqrx = temp
End Function
Private Sub Command1_Click()
Dim i As Integer
For i = 17 To 24
Debug.Print "sqrx(" & i & ")=" & sqrx(i)
Next
End Sub
返回:
sqrx(17)=4.1231056256176605498214098559741
sqrx(18)=4.2426406871192851464050661726291
sqrx(19)=4.3588989435406735522369819838596
sqrx(20)=4.4721359549995793928183473374626
sqrx(21)=4.582575694955840006588047193728
sqrx(22)=4.6904157598234295545656301135445
sqrx(23)=4.7958315233127195415974380641627
sqrx(24)=4.8989794855663561963945681494118"