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

ASP.NET
ASP.NET Tips1---合并多个字段值
如何 动态编译自己写的代码
用.NET设计一个新的课程
.NET策略是如何创建起来的
C#事件机制归纳上
IL系列文章之四ArrayinIL续
C#事件机制归纳下
我的ASP.net学习历程调用类库函库的简单加密方法
vb 常量声明
XMLWebServices底层结构
快速高效创建你的子窗口
深度和广度优先分油问题(C#实现)
水晶报表中子报表的数据绑定问题
用C#编写获取远程IP,MAC的方法
利用"委托"实现对象实例按"多字段嵌套"排序
.NET数值类型的精度
接受改变:从VB程序员到VB.Net程序员
掌握 C#
自定义 StringTable 的自动完成功能 (C# API : SHAutoComplete)
自己写的一个图表控件

ASP.NET 中的 Sendkeys 和 Sendmessage 使用技巧一例 选择自 northwolves 的 Blog


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 78 ::
收藏到网摘: 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"