【问题标题】:What is the Use of user32.dll in VB Application?VB 应用程序中 user32.dll 的用途是什么?
【发布时间】:2012-09-20 12:58:40
【问题描述】:

在我们中我们已经使用了user32.dll并传递了hWnd的值。所以我想知道这个User32.dll有什么用并传递hWnd的值?

他们正在设置这个值

SetProp hwnd, "PrevWndProc", SetWindowLong(hwnd, GWL_WNDPROC, AddressOf WindowProc)

【问题讨论】:

    标签: winapi vb6 vb6-migration


    【解决方案1】:

    它使用SetProp Windows API 函数将值与变量hwnd 中的句柄标识的窗口相关联。

    该片段用于存储原始窗口过程的地址(由SetWindowLong返回),同时用VB6过程(称为WindowProc)替换(子类化)它,通常在为了与发送到窗口的消息进行交互。

    随后的SetWindowLong 使用GetProp 查找先前存储的hwnd 来恢复原始Windows 过程,然后是RemoveProp 进行整理。

    【讨论】:

    • +1 @jai 查看 WindowProc 内部以查看它正在处理哪些 Windows 消息以及它在做什么,以便您知道它在做什么。子类化是扩展标准 VB6 控件和表单功能的一种高级方法。
    【解决方案2】:

    User32 是一个管理桌面上所有窗口的库。 hwnd 参数是一个句柄,用于标识您在系统中的窗口

    【讨论】:

    • 感谢您的信息。这里我有两个基于某些条件的函数调用 1.“SetProp”2.“SetWindowLong”3.“RemoveProp”。你能详细说明一下吗?
    • 很久以前我玩过VB,所以我不能完全阅读语法,但它肯定会调用SetWindowLong来改变这个窗口的WindowProc。 WindowProc 是一个消息处理程序,用于处理发送到窗口的所有消息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 2021-06-18
    • 2011-09-26
    • 2020-02-17
    相关资源
    最近更新 更多