Sendkeys 和 Sendmessage 使用技巧一例

2016-01-29 13:20 50 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

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

延伸阅读
这是一个时钟程序,使我刚学完Turbo C作图后写的。程序原理我不再说明,在程序中有具体的注释。程序不足之处,请各位多多指点。/**********************************************               Clock.c          &nbs...
  通过代码优化,可以提高代码的执行效率,从而提升程序的品质。因而优化代码是程序员提高自身水平,提高技能的一个很重要途径。不同的代码有不同的分析方法,有不同的优化方法,而这全凭程序员的经验积累和自身水平。在公司里我既担任项目经理,也担任系统分析员,因而经常需要帮助程序员优化代码,因而在工作中积累了一些经验。为了将这...
标签: SQLServer
在Win2000 Server & Professional不能Attach DB File的原因和解决方法。     yy的SQL Server因为Master DB损坏,在没有Backup的情况下,无法修复和Restore,无奈只能Reinstall SQL Server,然后用Sp_attach_db来附加原来的应用DB File(xxx.mdf and xxx.ldf)。 为了保险起见,准备现在一台双平台的电脑上面试验。这台...
标签: PS PS教程
本教程为 www.jcwcn.com 中国 叶冷原创,如转载请保留这段话: 关于黑色背景抠发,感到困惑的人还是比较多,今天来发个有关这样的抠发帖子。 先贴原图 screen.width-500)this.style.width=screen.width-500;" border=0 pop="按此在新窗口浏览图片"> 下面的两个图,其中左图是原图,右图是用原图复制一个图层后将图层模式设定为“屏幕”后的...
标签: Web开发
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" html xmlns="http://www.w3.org/1999/xhtml" head meta http-equiv="Content-Type" content="text/html; charset=utf-8" / title52css.com/title style type="text/css" label{ float: left; width: 80px; } form{margin:0px} i...

经验教程

949

收藏

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