`

窗口句柄

阅读更多

要创建一个控件,并且让这个控件加到parent container里面的时候,他的句柄才算创建,否则老是用线程等待是不会成功的。

现象:在启动一个线程线程任务是否及时办理的线程中,往控件写信息的时候老是出现错误。

 

在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke。

 

错误发生在这句代码上:

 

gridControl1.BeginInvoke(dd, list);

 

后来采用让线程等待主界面加载完毕的时候执行,还是报同样的错误。这时候发现时句柄根本没有创建好。那么我何不在确定已经创建完UI的各个句柄后在启动线程呢?于是我移动了代码,让他靠后执行,郁闷还是不行。然后发现,这个UC控件 new出来之后没有属于任何一个父窗体,他飘在哪里,这样句柄就没有创建出来,于是修改代码,顺利通过。
让我们来复习一下,句柄是什么?
句柄,是整个windows编程的基础。一个句柄是指使用的一个唯一的整数值,即一个四字节长的数值,来标志应用程序中的不同对象和同类对象中的不同的实例,诸如,一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等。应用程序能够通过句柄访问相应的对象的信息,但是句柄不是一个指针,程序不能利用句柄来直接阅读文件中的信息。如果句柄不用在I/O文件中,它是毫无用处的。 句柄是windows用来标志应用程序中建立的或是使用的唯一整数,windows使用了大量的句柄来标志很多对象。
这时百度百科里面的介绍,基本概念都一样,看我们如何理解,理解是否到位。
句柄的作用是什么,什么时候创建,何时销毁?
句柄到底是如何表示的?

Linux中也是类似的概念吗?Linux是如何表示的?

 

顺便熟悉一下:跨线程访问控件是如何实现的。Invoke内部是在怎么走的?

必须是用修改的控件来Invoke吗?

先放出来,督促自己来完善笔记。

分享到:
评论

相关推荐

    易语言取当前激活的窗口句柄

    在IT领域,尤其是在编程实践中,窗口句柄是一个重要的概念,特别是在Windows操作系统下的应用程序开发中。窗口句柄(HWND)是Windows API提供的一种机制,用于唯一标识一个窗口对象。它是一个整数值,用来作为函数...

    通过窗口句柄取得进程ID

    在Windows操作系统中,窗口句柄(HWND)是一个用于标识应用程序窗口的唯一标识符。当我们需要获取与特定窗口关联的进程ID时,可以使用Windows API中的`GetWindowThreadProcessId`函数。这个函数允许我们从窗口句柄中...

    C#查找窗口句柄的方法

    在C#编程中,窗口句柄(HWND)是操作系统用于标识和引用窗口对象的一个整数值。它是Windows API(应用程序接口)中的核心概念,允许开发者对窗口进行各种操作,如发送消息、改变窗口状态、获取窗口信息等。本篇文章...

    窗口句柄获取教程

    窗口句柄获取及API的调用: .版本 2 .程序集 窗口程序集1 .子程序 _按钮_点击按钮_被单击 .局部变量 父窗口句柄, 整数型 .局部变量 编辑框窗口句柄, 整数型 .局部变量 按钮窗口句柄, 整数型 .局部变量 临时文本, ...

    易语言鼠标获取窗口句柄源码

    本文将深入探讨如何在易语言中实现鼠标获取窗口句柄的功能,并以此为基础,讲解相关的核心知识点。 首先,窗口句柄(HWND)是Windows操作系统中用于标识和引用窗口的一个唯一标识符。在编程中,我们经常需要获取...

    Java实现获取窗口句柄并操作窗口jna-4.4.0

    然而,Java原生并不支持直接操作操作系统级别的资源,如窗口句柄。为了弥补这个不足,开发人员可以使用Java Native Access (JNA),这是一个Java平台上的库,允许Java代码调用本机库函数,与操作系统进行更直接的交互...

    通过进程ID找到窗口句柄.

    ### 通过进程ID找到窗口句柄 在计算机编程领域中,有时我们需要与操作系统进行更深层次的交互,例如:为了自动化测试、系统监控或是其他高级应用的目的,我们需要通过进程ID(Process ID, PID)来查找特定窗口的...

    动态捕获Windows窗口句柄工具

    动态捕获Windows窗口句柄工具。 Inspect 支持无焦点窗口捕获,可动态实时监听当前系统打开的窗口,并获取窗口的详细信息。 可以很方便的对软件进行模拟操作。。。 DDDD 动态捕获Windows窗口句柄工具。 Inspect 支持...

    qml窗口句柄的获取以及QWidget嵌入到QML窗口

    5. **从C++向QML传递窗口句柄**:如果你需要在C++中创建CustomWidget并将其添加到QML窗口,可以使用`QQmlEngine::setObjectParent`方法,并传递窗口句柄。 ```cpp CustomWidget *customWidget = new CustomWidget...

    易语言遍历方法枚举窗口句柄

    标题中的“易语言遍历方法枚举窗口句柄”是一个关于Windows编程的知识点,主要涉及易语言(EasyLanguage)这个编程环境以及如何在其中遍历并枚举窗口句柄。易语言是中国的一种特色编程语言,它以简洁明了的汉语词汇...

    Java实现获取窗口句柄.zip

    在Java编程环境中,获取窗口句柄(Window Handle)通常是与操作系统进行交互的一种方式,主要用于控制或检测特定的图形用户界面(GUI)元素。在Java中,这种操作涉及到AWT(Abstract Window Toolkit)和Swing库,这...

    窗口句柄捕获工具

    【标题】:“窗口句柄捕获工具”是一种实用程序,专为开发者设计,用于便捷地实时获取鼠标指针下方窗口的句柄。这个小工具在功能上超越了经典的Spy++,提供了一个更简单、更直观的界面来追踪和分析Windows应用程序的...

    获得windows指定窗口的窗口句柄

    在Windows操作系统中,窗口句柄(HWND)是一个用于标识应用程序中独特窗口的整数值。它在编程中扮演着至关重要的角色,因为它是Windows API(应用编程接口)与窗口交互的基础。当你需要对某个特定的窗口进行操作,如...

    vb-EnumChildWindows所有窗口及子窗口句柄

    回调函数必须遵循特定的约定,即接受两个参数:一个是窗口句柄(`ByVal hWnd As Long`),另一个是用户数据(`ByVal lParam As Long`)。例如: ```vb Public Delegate Function EnumWindowProc(ByVal hWnd As Long...

    获取任意窗口句柄

    在编程领域,窗口句柄是操作系统提供的一种机制,用于唯一标识和引用应用程序中的窗口。在Windows操作系统中,窗口句柄(HWND)是一个整数值,它代表了一个特定的窗口实例。本教程将深入探讨如何在C#中获取任意窗口...

    用窗口句柄获取窗口标题

    这通常涉及到对Windows API函数的调用,以便能够从一个已知的窗口句柄(HWND)中提取出窗口的标题文本。以下是对如何使用窗口句柄获取窗口标题的详细解析。 ### 知识点一:窗口句柄(HWND) 窗口句柄是Windows系统...

    指定窗口截图,窗口句柄截图

    "指定窗口截图,窗口句柄截图"这个主题就是关于如何利用编程手段,通过窗口的句柄(Handle)来捕获并保存该窗口的图像。在这个场景中,我们主要涉及到的技术是Windows API,特别是与图形设备接口(GDI)相关的函数。...

    VB获取窗口句柄

    在编程领域,窗口句柄(Window Handle)是一个重要的概念,特别是在使用Visual Basic(VB)进行Windows应用程序开发时。窗口句柄是操作系统分配给每个窗口的一个唯一标识符,它是一个整数值,用来区分系统中的不同...

    VC中获取窗口句柄的各种方法

    在Microsoft Visual C++ (VC) 开发环境中,窗口句柄(HWND)是Windows API中用于标识应用程序窗口的一个重要标识符。窗口句柄是系统分配的一个唯一整数值,它允许程序与特定窗口进行交互。本篇文章将详细介绍在VC中...

    VC进程ID获得主窗口句柄获得进程名

    VC获得进程ID获得主线程ID获得窗口句柄获得主窗口获得进程名 1.窗口类名 窗口句柄 窗口标题 窗口句柄 HWND FindWindow( LPCTSTR lpClassName, //窗口类名 可用 VC或者VS自带的Spy++查看 LPCTSTR lpWindowName //...

Global site tag (gtag.js) - Google Analytics