Sendkeys 和 Sendmessage 使用技巧一例

2016-01-29 13:20 49 1 收藏

Sendkeys 和 Sendmessage 使用技巧一例,Sendkeys 和 Sendmessage 使用技巧一例

【 tulaoshi.com - ASP.NET 】


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

来源:https://www.tulaoshi.com/n/20160129/1489802.html

延伸阅读
标签: autocad教程
本文由 wzm1234568 原创,转载请保留此信息! Tulaoshi.Com 昨天把平面图练习集(进阶型)140P做完了。在做的过程中,127题始终没有做出来。郁闷了好久。昨天终于找到答案了。我现在把做的过程贴出来。呵呵。(我可是初学者哟,高手看后要扔砖头的,捡小一点的啊,谢谢!!!) (另外,说一下,这个做法是我请教的高手教的,不...
这是一个时钟程序,使我刚学完Turbo C作图后写的。程序原理我不再说明,在程序中有具体的注释。程序不足之处,请各位多多指点。/**********************************************               Clock.c          &nbs...
标签: PS PS教程
本教程为 www.jcwcn.com 中国 叶冷原创,如转载请保留这段话: 关于黑色背景抠发,感到困惑的人还是比较多,今天来发个有关这样的抠发帖子。 先贴原图 screen.width-500)this.style.width=screen.width-500;" border=0 pop="按此在新窗口浏览图片"> 下面的两个图,其中左图是原图,右图是用原图复制一个图层后将图层模式设定为“屏幕”后的...
  通过代码优化,可以提高代码的执行效率,从而提升程序的品质。因而优化代码是程序员提高自身水平,提高技能的一个很重要途径。不同的代码有不同的分析方法,有不同的优化方法,而这全凭程序员的经验积累和自身水平。在公司里我既担任项目经理,也担任系统分析员,因而经常需要帮助程序员优化代码,因而在工作中积累了一些经验。为了将这...
问题: 每页打印一定行数后自动分页 方法一: 加一个分页符,在报表的代码界面里面写入以下代码: Option Compare Database Dim row As Long Dim RowsInPage As Integer Private Sub 主体_Format(Cancel As Integer, FormatCount As Integer) RowsInPage = 7 row = row + 1 If row = RowsInPage Then Me.PageBreak18.Visible = T...

经验教程

866

收藏

17
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部