石鑫华视觉论坛

 找回密码
 注册会员
查看: 4391|回复: 0

[转载] API---如何获得窗口句柄(HWND)(陈树学)

[复制链接]
  • TA的每日心情
    开心
    昨天 21:00
  • 签到天数: 3412 天

    连续签到: 14 天

    [LV.Master]2000FPS

    发表于 2015-5-17 10:38:55 | 显示全部楼层 |阅读模式 来自:广东省东莞市 移动

    注册登陆后可查看附件和大图,以及购买相关内容

    您需要 登录 才可以下载或查看,没有账号?注册会员

    x
    hwnd 是窗口句柄,系统分配的一个ID号,对操作系统来说就是这个窗口的唯一标识,通过它就可以操作WIN窗口了,LABVIEW VI的前面板无疑是一个WINDOWS窗口,那如何获得这个窗口句柄那.
    有两种方法:
    1.利用API FindWindow函数,通过窗口标题,来查找前面板的窗口句柄.
    721542d6.jpg

    2.利用LABVIEW未公开的私有属性节点

    7a836266.jpg


    获得了HWND,可以说获得了控制前面板的钥匙,举几个例子:

    1.读取窗口标题和设置窗口标题

    Public Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long
    Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
    Public Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long

    121023821099bcadfe.jpg



    ab74c5d3.jpg




    2.如何使窗口的最大最小化按纽失效

    Public Const GWL_STYLE = (-16)
    Public Const WS_MAXIMIZE = &H1000000
    Public Const WS_MAXIMIZEBOX = &H10000
    Public Const WS_MINIMIZE = &H20000000
    Public Const WS_MINIMIZEBOX = &H20000
    Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long


    2ecb889.jpg
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册会员

    本版积分规则

    LabVIEW HALCON图像处理入门教程(24.09)
    石鑫华机器视觉与LabVIEW Vision图像处理PDF+视频教程11种全套
    《LabVIEW Vision函数实例详解2020-2024》教程-NI Vision所有函数使用方法介绍,基于NI VISION2020,兼容VDM21/22/23/24

    QQ|石鑫华视觉论坛 |网站地图

    GMT+8, 2024-12-23 02:48

    Powered by Discuz! X3.4

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表