CreateWindowEx 失败并显示 ERROR_CANNOT_FIND_WND_CLASS

2024-01-18

我试图创建一个具有特定类类型(“VSDebugger CDataTipWnd”)的窗口,但是,当我运行 CreateWindowEx 时它失败,并且 GetLastError 告诉我找不到该类。这是供参考的代码,尽管这并不重要:

const Win32WindowStyles dwStyle = Win32WindowStyles.WS_POPUP;
IntPtr wnd = NativeMethods.CreateWindowEx(0L, "VSDebugger CDataTipWnd", "MyWindow",
                                                  dwStyle, 100, 100, 100, 100, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero);

我在进程中作为插件运行,并且我知道之前创建了此类的窗口(我使用 Winspector/Spy++ 确保了这一点),但是,当我尝试自己创建此类窗口时,它不起作用,我不明白为什么。

The 文档 http://msdn.microsoft.com/en-us/library/ms632679%28VS.85%29.aspx说“类名可以是使用 RegisterClass 或 RegisterClassEx 注册的任何名称,前提是注册该类的模块也是创建窗口的模块。类名也可以是任何预定义的系统类名。对于系统类名称列表,请参阅备注部分。” RegisterClass 是否有可能确实是在另一个模块(dll/exe)中创建的?仅在另一个模块中创建一个类是否会导致无法从另一个模块中通过名称访问该类?如果是这样,我仍然可以以某种方式找到该类并用它创建一个窗口吗?

谢谢! 维塔利


您将 IntPtr.Zero 传递给 HINSTANCE 参数。

注册该类的模块(EXE 或 DLL)的 HINSTANCE 必须提供给 CreateWindowEx。

如果您认为主 EXE 注册了该类,那么您可以通过 GetModuleHandle(IntPtr.Zero) 获取其 HINSTANCE。

如果另一个 DLL 注册了该类,那么您将需要某种方法来知道是哪个 DLL 并获取其 HINSTANCE/HMODULE(现在这两个是相同的)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CreateWindowEx 失败并显示 ERROR_CANNOT_FIND_WND_CLASS 的相关文章

  • 无法启动 Windows 服务,错误 1064

    我编写了一个在 Win10 上运行的 Windows 服务 它运行得非常好 直到我决定对其进行一些更改 我重写了一些逻辑 在调试和发布配置中进行了测试 一切都很好 然后 我使用卸载了当前版本的服务installutil exe u serv
  • 设置窗口像素的正确(且无闪烁)方法?

    我正在努力找出在 WM PAINT 期间将纯 RGBA 值数组转储到 Win32 窗口的客户区的正确方法 我有以下代码 但它看起来已经很复杂 我什至还没有完成 case WM ERASEBKGND return 1 case WM PAIN
  • 在 Windows 7 上的 Sourcetree 中比较 Word docx 文件

    我一直在尝试获取在 Windows 7 上的 Sourcetree 中工作的 Word docx 文件的文本差异 我已按照此处的说明进行操作将 Microsoft Word 与 git 结合使用 http blog martinfenner
  • 如何设置任务在使用 vbs 登录时以当前用户身份运行而无需管理员权限?

    从命令行 我可以创建一个在登录时运行的计划任务 无需管理员权限或用户输入密码来设置任务 但是我必须使用 xml 文件来执行此操作 下面是一个示例 xml 其中 Domain User 部分必须在运行时替换为当前用户的域和名称
  • conio.h 不包含 textcolor()?

    我一直在考虑在我用 C 编写的 DOS 程序中使用颜色 有人告诉我conio h有textcolor 函数 但是当我在代码中使用它时 编译器 链接器会向我抛出错误 说我对该函数有未定义的引用 Does conio h真的有这个功能还是有人告
  • 如何使用 Win32 API 与 com 端口 (RS232) 通信

    我正在尝试使用 win32 API 与 com 端口对话 我找到了这个http www robbayer com files serial win pdf http www robbayer com files serial win pdf
  • 如何验证文件名称在 Windows 中是否有效?

    是否有一个 Windows API 函数可以将字符串值传递给该函数 该函数将返回一个指示文件名是否有效的值 我需要验证文件名是否有效 并且我正在寻找一种简单的方法来完成此操作 而无需重新发明轮子 我正在直接使用 C 但针对的是 Win32
  • Node.js 升级在 Windows 中仍然显示旧版本

    我已使用 msi 安装程序下载并安装了新版本的 nodejs 4 1 2 之后我跑了node v 但它仍然显示旧版本 0 12 2 我尝试重新启动Windows 甚至卸载nodejs并重新安装它 但仍然显示相同的内容 为什么会发生这种情况
  • 如何在 Windows 命令行中使用参数运行 Python 脚本

    这是我的蟒蛇hello py script def hello a b print hello and that s your sum sum a b print sum import sys if name main hello sys
  • 如何在Windows中的Python 3.9下pip安装pickle?

    我需要pickle https docs python org 3 9 library pickle html module pickle包安装在我的下面Python 3 9在 Windows 10 下 我尝试过的 当尝试与pip inst
  • 通过 PowerShell 运行 .cmd 文件

    我正在尝试使用 PowerShell 在远程服务器上运行 cmd 文件 在我的 ps1 脚本中我尝试过 C MyDirectory MyCommand cmd 它会导致此错误 C MyDirectory MyCommand cmd is n
  • 在 Windows 上查找父进程 ID

    Problem 给定远程 Windows 主机上的进程 ID 和命令行访问权限 如何找到其父进程的 PID Solution 鉴于 Marc B 的回答 我们可以使用 WMIC 命令示例here https learn microsoft
  • 高效列出目录中的所有子目录

    请参阅迄今为止所采取的建议的编辑 我正在尝试使用 WinAPI 和 C 列出给定目录中的所有目录 文件夹 现在我的算法又慢又低效 使用 FindFirstFileEx 打开我正在搜索的文件夹 然后我查看目录中的每个文件 使用 FindNex
  • 如何以管理员身份在 rake 任务中运行 shell 命令?

    我有一个简短的 cmd 文件 我想将其作为部署过程的一部分运行 不幸的是 cmd 文件需要管理员权限 是否可以从 rake 中获得管理员权限 或者我是否需要以管理员身份启动 shell 您可以尝试runas http ss64 com nt
  • 在 64 位 Windows 上运行 32 位可执行文件时出现问题

    如果允许的话 我会添加 500 个我自己的代表作为赏金 我在用着wkhtml转pdf http wkhtmltopdf org 将 HTML 网页转换为 PDF 这在我的 32 位开发服务器上完美运行 不幸的是 我无法运送我的机器 p 但是
  • 在 Windows 上通过 ctypes 将文件描述符传递给 C 库函数

    我试图通过 ctypes 将文件描述符传递给在 fd 上执行写入的 C 函数 在linux上它可以工作 在 Windows 上则不然 我不明白为什么 我没有 Windows 开发人员的经验 C func signature void fun
  • 批处理脚本 - IF EXIST 复制到 %localappdata% 错误

    我似乎被批处理脚本困住了 需要一些帮助 基本上我需要检查文件是否存在于文件夹中 localappdata 如果确实如此 则覆盖该文件 如果没有放置在不同的位置 那么目前它的内容如下 IF EXIST localappdata foldern
  • 如何将 Hudson/Jenkins 参数传递给 Windows 批处理命令

    好吧 我需要在我的 Hudson 作业中执行一个批处理文件 我有一个参数 Jenkis 参数 我需要将这个值 如参数 传递给批处理文件 我尝试了以下操作 Deploy cmd configuration DEPLOYCONFIGURATIO
  • Nexus 7 (2013) 和 Win 7 64 - 尽管检查了许多论坛和在线资源,仍无法安装 USB 驱动程序

    我正在尝试设置 Nexus 7 2013 进行调试 但我在安装 USB 驱动程序的步骤中陷入困境 到目前为止 这是我尝试过的 采取的步骤 在 Nexus 7 2013 上打开调试模式 连接设备至 PC 下载 Google USB 驱动程序于
  • Tkinter - 浮动窗口 - 调整大小

    灵感来自this https stackoverflow com a 22424245 13629335问题 我想为我的根窗口编写自己的调整大小函数 但我刚刚注意到我的代码显示了一些性能问题 如果你快速调整它的大小 你会发现窗口没有像我希望

随机推荐

  • 更新Map字段-Flutter

    如何更新 isVerified Boolean 字段的数据 个人信息是地图包含地址 然后经过验证 更新isVerified 您必须执行以下操作 Firestore instance collection collection Name do
  • 我们可以在 Spring Boot 中使用多个 kafka 模板吗?

    在我的 spring boot kafka 发布者应用程序中 我想提供对以 String json 或字节格式发布消息的支持 因为我想同时提供对 json 和 avro 的支持 但是 Spring Boot 中的 Kafka 模板让我们只定
  • 有没有办法在 R 中为 Word 制作漂亮的表格?

    我问我的问题 这是我最后的希望 我必须用 Word 制作一份报告 我从事 R Markdown 工作 必须生成许多表格 我希望我的桌子很漂亮 但我尝试过的一切 pander KableExtra flextable 不工作 我的结果来自co
  • 尝试使用 Angular 中的 Google People API 获取生日和性别

    我已经花了几个小时尝试这样做 但我永远无法获得我想要获得的数据 我需要以其他方式提出请求吗 这是我的代码 doGoogleLogin return new Promise
  • 是否有 jquery 下拉年份选择器 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有一个 jQuery 插件可以自动创建下拉年份选择器 这是一个 选择 元素 填充了从当前开始并追溯
  • 如何使用 jquery/javascript 在 safari 中复制到剪贴板?

    我研究了一堆答案和文章 它们展示了如何通过 jquery 在按钮单击时复制文本 但没有一个对我有用 我通过 ajax 将一个值附加到 DOM 中 我希望通过单击按钮来复制该值 所有这些解决方案都可以在 chrome 上运行 如果使用 jsf
  • 放弃更改而不从历史记录中删除

    有一个提交不起作用 所以我想放弃它而不将其从历史记录中删除 我已经从早期的修订版中更新并提交 从而创建了一个新的头 我没有分支 我不想要分支 我只想简单地继续使用新的头 就像它原来的样子 没有什么花哨的 没有合并 没有担心 只是继续忘记前一
  • Alexa Skills Kit 输入的“包罗万象”不符合既定意图

    我正在构建一个 Alexa 应用程序 它需要能够处理问题的答案 我有一个SkipIntent具有跳过问题的示例话语的意图 我想建立一个AnswerIntent它可以获取任何答案 并根据正确答案对其进行处理 我尝试使用Amazon LITER
  • 如何在 Java 中检测 SQL 表是否存在?

    如何在 Java 中检测给定 SQL 数据库中是否存在某个表 您可以使用DatabaseMetaData getTables http java sun com j2se 1 5 0 docs api java sql DatabaseMe
  • 何时不在 CakePhp 2.x 中使用可包含行为

    在将 Containable Behaviour 添加到我的各种模型类中几次后 我决定简单地将该行放入 AppModel 中 从而使每个模型都可包含 这让我想知道 是否有任何情况下 特定模型具有可控制行为是不理想的或适得其反的 我想说太少了
  • 更改JLabel的字体

    如何更改JLabel的字体 我尝试这样做但没有成功 JLabel nadpis new JLabel nadpis setFont new Font Papyrus Font ITALIC 100 nadpis setText hi 只是大
  • 将 BasedOn 属性与在不同字典中定义的 Style 结合使用

    我正在开发的应用程序有 2 个 ResourceDictionary DefaultStyles xaml 和 CustomStyles xaml CustomStyles 字典中的样式是否可能使用其他字典中定义的基本样式 默认样式 xam
  • 在一个查询中计算 MySQL 中的多行数

    我目前有一个表 其中存储了多个项目的大量统计信息 例如查看 下载 购买等 要获取每个项目的单个操作计数 我可以使用以下查询 SELECT COUNT FROM stats WHERE operation view GROUP BY item
  • pandas groupby 列并检查组是否满足多个条件

    我有一个如下所示的 DataFrame X Y Date are equal 0 50 0 10 0 2018 08 19 False 1 NaN 10 0 2018 08 19 False 2 NaN 50 0 2018 08 19 Tr
  • Spring Security - 记住我身份验证错误

    我们正在使用 Spring MVC 并遇到以下与 Remember Me 身份验证相关的问题 用户在选中 记住我 的情况下登录 工作正常 perpetitive login 表按预期更新 我们重新启动应用程序服务器 也许是在部署之后等 用户
  • 如何使用 Greasemonkey 更改此 javascript?

    这是脚本
  • 从网络摄像头获取帧的最快方法

    我在用 C Visual studio 开发一个程序时遇到了一点问题 现在我正在努力连接多个网络摄像头 通过 USB 电缆连接 为每个摄像头创建单独的线程来捕获帧 并创建单独的帧用于处理图像 我使用 OpenCV 来处理帧 但问题是我没有获
  • 关闭套接字是否会关闭流?

    我正在遗留的java应用程序中工作 在许多文件中 使用套接字和流 其中套接字被关闭但不是流 是否有必要在关闭套接字之前关闭所有流 因为我收到 打开文件太多错误 这个错误是因为没有关闭流 关闭套接字也会自动关闭流吗 来自Socket Java
  • UICollectionView 装饰视图

    有人为 iOS 6 UICollectionView 实现了装饰视图吗 不可能 查找有关在网络上实现装饰视图的任何教程 基本上在我的应用程序中 我有多个部分 我只想在每个部分后面显示一个装饰视图 这应该很容易实现 但我没有运气 这让我发疯
  • CreateWindowEx 失败并显示 ERROR_CANNOT_FIND_WND_CLASS

    我试图创建一个具有特定类类型 VSDebugger CDataTipWnd 的窗口 但是 当我运行 CreateWindowEx 时它失败 并且 GetLastError 告诉我找不到该类 这是供参考的代码 尽管这并不重要 const Wi