易截截图软件、单文件、免安装、纯绿色、仅160KB

VB句柄概念 不懂以后深入理解

最近在学习windows API的时候发现在个叫句柄的概念搞不清楚,于是查了一下现在把自己的理解写出来,后面再贴网上的介绍。句柄是一个代表窗口的正整数,当然窗口的概念在这里包含了桌面、按钮、滚动条等,这就是我最简单的理解了。
以下是网上的介绍:
                        了解句柄
在调用 DLL 函数前必须理解的另外一个重要概念是句柄。句柄是一个 32 位的正整数,Microsoft® Windows® 用它来识别窗体或其他对象,例如字体或位图。
在 Windows 中,窗口可以有许多种。窗口可以是屏幕上的一块矩形封闭区域,比如您熟悉的应用程序窗口。窗体上的控件(例如列表框或滚动条)也可以是窗口,但并不是所有类型的控件都是窗口。桌面上的图标和桌面本身也是窗口。
因为所有这些类型的对象都是窗口,所以 Windows 可以用类似的方式处理它们。Windows 给每个窗口一个唯一的句柄,通过句柄操纵该窗口。许多 API 函数可返回句柄或者接受句柄作参数。
创建窗口时,Windows 给它指派一个句柄,窗口消失后句柄被释放。虽然句柄在窗口的整个生存期内保持不变,但不能保证某窗口在被损坏并重新创建后还使用原来的句柄。所以,如果在变量中存储了一个句柄,请记住窗口损坏后句柄就失效了。
例如 GetActiveWindow 函数就可以返回窗口的句柄,这里的窗口是一个当前活动的应用程序窗口。GetWindowText 函数接受窗口的句柄,如果该窗口有标题,则返回标题。下面的过程用 GetActiveWindow 返回活动窗口的句柄,用 GetWindowText 返回该窗口的标题:
Declare Function GetActiveWindow Lib "user32" () As Long
Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" _
(ByVal Hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Function ActiveWindowCaption() As String
Dim strCaption As String
Dim lngLen As Long
' 创建由空字符填充的字符串。
strCaption = String$(255, vbNullChar)
' 返回字符串长度。
lngLen = Len(strCaption)
' 调用 GetActiveWindow,返回活动窗口的句柄,
' 把句柄连同字符串和字符串长度一起传递给 GetWindowText。
If (GetWindowText(GetActiveWindow, strCaption, lngLen) > 0) Then
' 返回 Windows 写到字符串中的值。
ActiveWindowCaption = strCaption
End If
End Function
GetWindowText 函数有 3 个参数:


相关文档:

vb标准(四):错误处理

·错误类型
    ·编程员的错误(比如分母不能是0,参数个数或数据类型不对应)
    ·环境方面的错误(比如文件太大,磁盘放不下)
    ·时间上的错误(比如视图给尚未完成加载的窗体设置焦点)
·创建错误处理程序
    ......

VB实例 —万年历 (3)

原来的错误是:Timer1的Enabled属性设为True。
代码错误是:
Private Sub Timer1_Timer()
Dim c As Date
    c = Time
    lbl3.Caption = CStr(c)
End Sub
————————————————&mdas ......

VB Cstr和str/lable和test问题

1、关于吉大视频:1-3集讲VB程序设计的概述4-30集讲VB基础知识,如控件的使用31-64集讲ActiveX控件、数据库等的高级编程部分。
看的过程中注意快捷键的使用和截图工具的运用,看视频时将重点作出标注。
2、由CSTR、Cstr()、string、Instr()和str()(此为深度扩展)所想到的关于总结的方法。
   &nb ......

VB Format函数

Format[$] ( expr [ , fmt ] )
format 返回变体型
format$ 强制返回为文本
--------------------------------
数字类型的格式化
--------------------------------
    固定格式参数:
    General Number 普通数字,如可以用来去掉千位分隔号
    format$("100 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号