首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

System.InvalidOperationException:“寄宿的 HWND 必须是指定级的子窗口。”

当试图在 WPF 窗口中嵌套显示 Win32 子窗口的时候,你有可能出现错误:“寄宿的 HWND 必须是指定级的子窗口。”。 这是很典型的 Win32 错误,本文介绍如何修复此错误。...问题 你有可能在调试嵌入窗口代码的时候遇到错误: System.InvalidOperationException:“寄宿的 HWND 必须是指定级的子窗口。”...原因和解决办法 出现此错误,是因为同一个子窗口被两次设置同一个窗口的子窗口。...具体来说,就是 A 窗口使用 HwndHost 设置成了 B 的子窗口,随后 A 又通过一个新的 HwndHost 设置成了新子窗口。...要解决,则必须确保一个窗口只能使用 HwndHost 设置一次子窗口

17930
您找到你想要的搜索结果了吗?
是的
没有找到

windows 桌面GUI自动化-3. pywinauto 操作指定window窗口

前言 pywinauto 操作GUI应用程序上的元素,需先找到指定窗口,基于窗口查找框架再操作。 如何查看窗口信息?...当前面启动记事本后,可以通过inspect.exe 查看窗口信息 主要看2个属性,窗口的标题,也就是左上角我们看到的 还有一个是查看的class属性,只能通过工具查看 可以通过标题和class...通常用窗口的标题操作更稳定一些,用class名称有时候会报错找不到 窗口的一些基本操作 窗口的操作方法 最大化 :w.maximize() 最小化 :w.minimize() 恢复正常 :w.restore...() 关闭窗口:w.close() 获取窗口状态:w.get_show_state() 返回1 最大化, 0正常,2最小化 获取窗口坐标:w.rectangle() 返回 (L35, T149, R1544...总结:推荐使用 app.window(title_re="xxx") 方法操作指定窗口

1.6K30

【Qt】Qt 开发桌面程序 ( Qt 版本 5.14.2 | 编辑 Qt 桌面按钮控件 | 修改按钮文本 | 按钮添加点击事件 | 系统调用 | 去掉系统调用命令窗口 )

文章目录 一、添加按钮控件 二、修改按钮文本 三、按钮添加点击事件 ( 弹出对话框 ) 四、按钮添加点击事件 ( 打开记事本 ) 五、按钮添加点击事件 ( 打开计算器 ) 六、去掉系统调用时弹出的...cmd 命令行窗口 七、博客资源 在 【Qt】Qt 开发桌面程序 ( Qt 版本 5.14.2 | 创建 Qt 桌面程序 | 构建并运行 Qt 桌面程序 ) 博客中 , 创建了一个空的 Qt 桌面程序..., 并运行 ; 在本博客中简单介绍下 Qt 桌面程序的开发 ; 一、添加按钮控件 ---- 双击 Forms 下的 widget.ui 文件 , 进入界面编辑面板 , 从左侧的组件列表中 , 拖拽一个..., 可以编辑按钮文本 , 编辑后效果 : 三、按钮添加点击事件 ( 弹出对话框 ) ---- 右键点击按钮 , 选择 " 转到槽… " , 在弹出的对话框中选择第一个 " clicked()...打开计算器, 会弹出命令窗口 //system("calc"); // 打开计算器 , 不弹出命令窗口 WinExec("calc", SW_NORMAL); } 运行效果

1.6K30

我用Deepin替代了Windows的日子

而认识了Linux之后我就开始逐步的往Linux上迁移…… 比如我的习惯、比如我的服务、比如…… 大部分人觉得Linux是高端产品,是IT专属,其实不然,Linux发展到今天,已经有了很大的改变,特别是在桌面世界...,我觉得完全可以应付得来,当然我不打游戏……首先就目前而言,Linux不是娱乐而生,虽然它在努力。...下无法工作情况……比如某些厂家设备只能在Windows上使用、某些web插件必须在IE模式下…… 遇到必须在Windows上工作的时候,我会选择虚拟机……这样基本能满足我的短暂需求,而且现在的WPS for Linux...虽然只是简单的调试,但也得调不是,在windows上有 Photoshop ,在Linux中完全可以使用 GIMP 替代,基本上能满足我的需求(毕竟不专业嘛+哈哈) ---- 结语 很多人都会说,Linux...有句话说的好:Windows 赢得了桌面,而Linux赢得了整个世界。这就是对Linux的肯定,君在服务器里见过的Windows有几何?

18020

【第3版emWin教程】第41章 emWin6.x窗口管理器基础知识(重要)

第一个值指定水平分量,也称为x坐标,第二个值指定垂直分量,也称为y坐标。 桌面坐标: 桌面坐标是桌面窗口的坐标,显示器的左上角原点位置(0,0)。...创建窗口时,如果不设置立即显示标志,默认情况下是隐藏的。显示窗口使其可见,隐藏窗口则使其不可见。 坐标: 坐标是与窗口相关的窗口坐标。窗口的左上角位置(原点)(0,0)。...创建窗口时,如果不指定创建标记,默认情况下设置顶部。 41.4 窗口管理器的回调机制,无效化,渲染和键盘输入 窗口管理器可以在有回调函数的例程中使用,也可以在无回调函数的例程中使用。...41.4.3 桌面窗口重绘和回调 初始化窗口管理器期间,会创建一个包含整个LCD 区域的窗口作为桌面窗口。此窗口的句柄 WM_HBKWIN。...方法二:桌面窗口创建也设置一个回调函数,通过函数WM_SetCallback可以为桌面窗口设置回调函数。 关于这两个函数的使用,在后面章节中都会给大家进行演示。

1.5K20

emwin教程_emwin教程

通常,当窗口的内容发生更改时,它们用于自动重绘窗口窗口/窗口 : 子窗口是相对于其他窗口(称为窗口)定义的。只要窗口移动,其子窗口就 会相应移动。...窗口的剪辑区域是其可见区 域,是窗口区域减去被更高 Z 轴阶层的同属窗口遮挡的区域,然后减去没有放入 窗口可见区域的任何部分 坐标: 坐标通常是二维坐标,以像素单位表示(x,y) 桌面坐标: 桌面坐标是桌面窗口的坐标...将一个窗口设置底部将把它“放在”它所的同属窗口 (如果有的话) 下面; 将它设置顶部将会将它“置于”它的同属窗口之上。 创建窗口时,如果没有指定创建标志,则默认将其设置顶部。...注:如果 hWinParent 参数设置 0,则使用桌面窗口作为窗口 void WM_DefaultProc(WM_MESSAGE * pMsg); 默认的消息处理函数 x0:消息指针。...由于桌面窗口默认没有指定颜色,所以它没有重绘功能。

5.1K40

FindWindow和FindWindowEx

如果NULL,将会寻找任何与lpWindowName参数匹配的窗口,IpWindowName:指向一个指定窗口名(窗口标题)的空结束字符串。如果该参数空,则为所有窗口全匹配。...返回值:如果函数成功,返回值具有指定类名和窗口名的窗口句柄;如果函数失败,返回值NULL。...如果hwndParentNULL,则函数以桌面窗口窗口,查找桌面窗口的所有子窗口。 hwndChildAfter :子窗口句柄。查找从在Z序中的下一个子窗口开始。...该成员16位,必须位于lpClassName的低16位,高位必须0。 lpszWindow:指向一个指定窗口名(窗口标题)的空结束字符串。...如果该参数 NULL,则为所有窗口全匹配。 返回值:如果函数成功,返回值具有指定类名和窗口名的窗口句柄。如果函数失败,返回值NULL。

46720

c语言findwindowex函数用法,VB中findwindowex函数的用法?

参数:(1)hwndParent:要查找的子窗口所在的窗口的句柄(如果设置了hwndParent,则表示从这个hwndParent指向的窗口中搜索子窗口)。...如果hwndParent 0 ,则函数以桌面窗口窗口,查找桌面窗口的所有子窗口。...(3)lpszClass:指向一个指定了类名的空结束字符串,或一个标识类名字符串的成员的指针。如果该参数一个成员,则它必须前次调用theGlobaIAddAtom函数产生的全局成员。...该成员16位,必须位于lpClassName的低16位,高位必须0。 (4)lpszWindow:指向一个指定窗口名(窗口标题)的空结束字符串。如果该参数 NULL,则为所有窗口全匹配。...返回值:Long,找到的窗口的句柄。如未找到相符窗口,则返回零。会设置GetLastError 如果函数成功,返回值具有指定类名和窗口名的窗口句柄。如果函数失败,返回值NULL。

71510

c++ findwindow函数_matlab中怎么查找函数的用法

(HWND hwndParent,HWND hwndChildAfter,LPCTSTR lpszClass,LPCTSTR lpszWindow); 参数: hwndParent:要查找子窗口窗口句柄...如果hwnjParentNULL,则函数以桌面窗口窗口,查找桌面窗口的所有子窗口。...lpszClass:指向一个指定了类名的空结束字符串,或一个标识类名字符串的成员的指针。如果该参数一个成员,则它必须前次调用theGlobaIAddAtom函数产生的全局成员。...该成员16位,必须位于lpClassName的低16位,高位必须0。 lpszWindow:指向一个指定窗口名(窗口标题)的空结束字符串。如果该参数 NULL,则为所有窗口全匹配。...返回值:如果函数成功,返回值具有指定类名和窗口名的窗口句柄。如果函数失败,返回值NULL。

1K10

FindWindowEx()函数详解

HWND hwndParent,HWND hwndChildAfter,LPCTSTR lpszClass,LPCTSTR lpszWindow); 参数; hwndParent:要查找子窗口窗口句柄...如果hwnjParentNULL,则函数以桌面窗口窗口,查找桌面窗口的所有子窗口。...lpszClass:指向一个指定了类名的空结束字符串,或一个标识类名字符串的成员的指针。如果该参数一个成员,则它必须前次调用theGlobaIAddAtom函数产生的全局成员。...该成员16位,必须位于lpClassName的低16位,高位必须0。 lpszWindow:指向一个指定窗口名(窗口标题)的空结束字符串。如果该参数 NULL,则为所有窗口全匹配。...返回值:如果函数成功,返回值具有指定类名和窗口名的窗口句柄。如果函数失败,返回值NULL。 若想获得更多错误信息,请调用GetLastError函数。

59920

【Visual Studio 2019】创建 MFC 桌面程序 ( 安装 MFC 开发组件 | 创建 MFC 应用 | MFC 应用窗口编辑 | 按钮添加点击事件 | 修改按钮文字 | 打开应用 )

文章目录 一、安装 MFC 开发组件 二、创建 MFC 应用 三、MFC 应用窗口编辑 四、按钮添加点击事件 五、修改按钮文字 六、打开系统其它应用 七、博客源码 一、安装 MFC 开发组件 ----...打开 Visual Studio Installer , 然后选择 修改 Visual Studio 2019 , 弹出如下对话框 , 选择 " 使用 C++ 的桌面开发 " , 然后打开右侧的 "...使用 C++ 的桌面开发 " 选项卡 , 勾选 " " 选中后点击右下方 " 修改 " 按钮 , 等待下载安装完毕 ; 二、创建 MFC 应用 ---- 在 Visual Studio 2019...环境界面中 , 选择 " 创建新项目(N) " , 选择 " Windows 桌面应用程序 " 下的 " MFC 应用 " , 输入相关配置 , 项目名称 , 存储路径 , 点击 " 创建 " 按钮...: 点击 " 本地 Windows 调试器 " 按钮 , 运行该程序 : 三、MFC 应用窗口编辑 ---- 双击 " 资源文件 " 中的 " MFCHelloWorld.rc " 文件 , 进入

4.4K40

探索IE浏览器窗口

(简称模式窗口),置在窗口上,必须关闭才能访问窗口(建议尽量少用,以免招人反感);showModelessDialog()(简称无模式窗口),打开后不必关闭也可访问窗口打开的窗口。...dialogLeft: iXPos 设置对话框窗口相对于桌面左上角的left位置。 dialogTop: iYPos 设置对话框窗口相对于桌面左上角的top位置。...center: {yes | no | 1 | 0 } 指定是否将对话框在桌面上居中,默认值是“yes”。...resizable: {yes | no | 1 | 0 } 指定是否对话框窗口大小可变。默认值是“no”。 status: {yes | no | 1 | 0 } 指定对话框窗口是否显示状态栏。...它可以设为 thick 指定窗口粗边框 dialog window 指定窗口对话框 none 指定窗口无边框 thin 指定窗口窄边框 BORDERSTYLE属性(borderStyle)

1.1K10

【专业技术】搜狗歌词窗口如何来实现

crKey:指定要实现透明的color key。 bAlpha:指定整个窗口的透明度。...dwFlags:透明标记,LWA_COLORKEY则指定crKey作为透明颜色,LWA_ALPHA则指定bAlpha作为整个窗口的透明色。...我们要实现像Sogou歌词窗口那样,显然是没有标题栏和边框,并且是最顶层窗口,所以我们创建窗口时要指定相应的属性。...WS_EX_TOPMOST属性指定,要实现透明度,需要指定WS_EX_LAYERED属性,由于这个窗口应该是在所以的窗口之上,所以窗口应该是桌面HWND_DESKTOP。...二是将窗口设为zorder的顶层,才会在桌面不被其他窗口盖住,因此本窗口窗口是HWND_DESKTOP,也可以通过GetDesktopWindow()函数来获取。

806100

C# 窗体常用API函数 应用程序窗体查找

,如果hwndParentNull,则函数以桌面窗口窗口,查找桌面窗口的所有子窗口;如果hwndParent是HWND_MESSAGE,函数仅查找所有消息窗口; hwndChildAfter...lpszClass:指向一个指定了类名的空结束字符串,或一个标识类名字符串的成员的指针。如果该参数一个成员,则它必须前次调用theGlobaIAddAtom函数产生的全局成员。...该成员16位,必须位于lpClassName的低16位,高位必须0。 lpszWindow:指向一个指定窗口名(窗口标题)的空结束字符串。如果该参数 NULL,则为所有窗口全匹配。...返回值:如果函数成功,返回值具有指定类名和窗口名的窗口句柄。如果函数失败,返回值NULL。总之,这个函数查找子窗口,从排在给定的子窗口后面的下一个子窗口开始。在查找时不区分大小写。...: HWND; {无参数; 返回桌面窗口的句柄} 前面我们提到找到目标句柄后通过SetForeGroudWindow(int hwnd)方法可以将其激活并设置前台窗口,但是如果只是想将其激活而不设置前台的话就要用到函数

3.8K70

QT入门基础(一)

,窗口对象的指针 //如果parent0或者nullptr,表示当前窗口对象是一个顶层窗口 //顶层窗口即为在任务栏可以找到的窗口 HelloWidget(QWidget *...说明: 一个按钮其实就是一个QPushButton类的对象,如果只是创建出对象,是无法显示到窗口中的,就需要依赖一个窗口,也就是指定一个父亲,而调用按钮的show()函数只能让按钮独立显示...利用setParent函数或者按钮创建的时候通过构造函数传参,此时我们称两个窗口建立了父子关系 在有窗口的情况下,窗口调用show会显示在窗口中,如果没有窗口,那么窗口调用show显示的会是一个顶层的窗口...Qt的坐标体系 以左上角原点(0,0),以向右的方向x轴的正方向,以向下方向y轴的正方向 对于嵌套窗口,其坐标是相对于窗口来说的 顶层窗口窗口就是屏幕 4.对象树模型 QObject...在 Qt 中尽量在构造的时候就指定 parent 对象,并且大胆在堆上创建 84AA8k-1678505328521)] QWidget是能够在屏幕上显示的一切组件的类 QWidget继承自QObject

1.1K30

MessageBox用法详解

1、函数原型及参数  function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer;  hWnd:对话框窗口句柄...,对话框显示在Delphi窗体内,可使用窗体的Handle属性,否则可用0,使其直接作为桌面窗口的子窗口。  ...引数: 1.Text:要显示的信息 2.Caption:信息窗口的标题文字 3.Flags:窗体标志(说明是何种类型的信息窗体) 3.1.可指定信息窗体上的图标 3.2.可指定信息窗体上出现的按钮 3.3...如果既没有指定 MB_SYSTEMMODAL也没有指定MB_TASKMOOAL,则MB_APPLMODAL缺省的。...当调用应用程序或库没有一个可以得到的窗口句柄时,使用此标志。但仍需要阻止到调用 应用程序甲其他窗口的输入而不是搁置其他线程。 另外,可以指定下列标志。

1.2K10

开发Windows Mobile今日插件 — 内存电量,桌面便笺,桌面记单词

插件可以通过给自己的窗口桌面窗口)发送TODAYM_DRAWWATERMARK 消息,委托窗口自己绘制背景,也就是通过把自己的HDC传递给shell来完成的,这样插件就看起来好像是“透明”的效果...参数2:桌面窗口的句柄,它将成为插件窗口窗口。...(4)同时插件还能够向窗口发送以下消息,以辅助绘制。 TODAYM_GETCOLOR 询问系统当前使用的前景色,背景色,高亮前景色等信息。...(2)桌面记单词插件。 桌面记单词插件的灵感是来自桌面上的类似工具,即有一个顶层窗口,以一个固定的频率切换词条显示,以帮助用户背单词。我这里就是模拟这种软件的效果做的一个今日插件。.../cpu选项指定是inf文件中定义过的CPU类型,如果在inf文件中定义了多种CPU类型,可以同时多种CPU打包,所以一个inf文件可以多用。

1K30
领券