问题标签 [registerclass]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1129 浏览

c# - 从 C# 调用 RegisterClass?

我正在尝试使用 CreateWindowEx 和 RegisterClass 创建一个窗口(不是 WinForm)。我已经想出了如何使用 CreateWindowEx,但我在 RegisterClass 上遇到了一些问题。在 WNDCLASS 结构中,如何设置这些:

WNDPROC lpfnWndProc 它是我想在 C# 中拥有的 WndProc 方法的句柄。

HINSTANCE hInstance 这是什么句柄?在这种情况下,“实例”是什么?

谢谢!

0 投票
1 回答
267 浏览

winapi - 如何在没有窗口句柄的情况下访问窗口类额外内存?

我需要注册一个窗口类,然后在创建该类的任何窗口之前在其额外内存部分(cbClsExtra 所指的那个)中设置一些数据。问题是 SetClassLong 需要一个 HWND 来识别类,而不是类的名称或原子。

实现这一目标的方法是什么?

0 投票
1 回答
820 浏览

c++ - RegisterClass 失败,错误代码为 2

我正在为我正在制作的程序创建启动画面,但 RegisterClass 不断失败(2:系统找不到指定的文件。)

我的代码是这样的:

g_hinstanceHINSTANCE DllMaingets
classname是窗口类的名称

0 投票
4 回答
9215 浏览

c++ - 即使我获得了 Class Window 的句柄,BringWindowToTop 也无法正常工作

我正在通过以下方法注册我的班级:

然后调用 InitInstance 方法并在类的构造函数中创建窗口:

现在在我的另一个应用程序中,我正在找到窗口并试图将其置于顶部:

编辑 能够使用以下代码带来新创建的 Windows

我能够找到pWndPrev 不是 NULL 的窗口,但它没有将我的应用程序放在前面。我是否需要注册任何其他类而不是 CNDSClientDlg。我想把我的 MFC 应用程序带到顶部。

0 投票
3 回答
2243 浏览

c++ - RegisterClassEx 因参数无效而失败 - C++

在我的应用程序中调用RegisterClassEx失败,错误代码为 87,“参数不正确”。

有谁知道我做错了什么?谢谢。

0 投票
1 回答
964 浏览

activex - 对于 ActiveX 的第二个实例,CreateWindowEx 失败并出现错误 1407 CLASS_NOT_REGISTERED

嗨,我正在处理一些遗留代码 - 用作“安装程序”的 ATL ActiveX 从服务器下载文件以供以后安装。有一个“进度条窗口”可以正常工作。问题是当我在同一进程(Windows XP IE7)中启动另一个 ActiveX 实例时,没有为第二个实例安装进度条。

所以我收到错误 1407 CLASS_NOT_REGISTERED。我在 DLLMain 中找到一些与注册相关的代码的唯一地方(这也是我关心的问题))对于附件案例:

谢谢

0 投票
1 回答
7259 浏览

winapi - Win32 API - RegisterClassEx 错误

我正在尝试使用 VC++ 编译器和 Visual Studio 通过 Win32 API 打开一个简单的窗口。我想知道为什么课程失败了;我尝试在没有指针的情况下分配它,并将其作为指针分配并将其作为参考发送给函数。然而,无论我尝试什么,该RegisterClassEx函数都拒绝返回 true。

为什么会这样,可以做些什么呢?

WinMain

0 投票
1 回答
3269 浏览

c# - 使用 Mono.WinForms 时 Unity 编辑器中的 RegisterClass 错误

Mono.WinForms用来在 Unity 中创建外部窗口,它工作得很好,除了我每次播放场景时都会收到此错误消息(但从来没有第一次在 Unity 新启动时):

无法注册窗口类,win32 错误 0。

我认为这是因为当我停止场景时表单类没有取消注册。当我重新启动 Unity 时,它们确实会取消注册,并且在我构建时我没有遇到问题,这是有道理的。

我两次收到此弹出错误,这是由以下原因引起的:

  1. myForm = new Form1();
  2. myForm.Show();

我浏览了XplatUIWin32.cs文件的代码并找到了RegisterWindowClass方法。当 Mono 注册一个类时,它会这样做:

所以我设法通过这样做摆脱了第二个错误:

所以我的问题是为什么它只适用于第二个弹出错误,我如何摆脱第一个?我试图强制垃圾收集,但没有帮助。我试图找到另一个注册的班级名称,但这里也没有运气。

对于信息,我使用 System.Windows.Forms.dll 的单声道版本作为参考,在 Visual Studio 中编译我的代码并将生成的 DLL 导入 Unity。除了那些弹出错误之外,它的效果很好。

0 投票
1 回答
503 浏览

winapi - 用新名称注册现有的 Windows 类是否安全?

我正在使用 VC2010 和混合 MFC/Win32 编写一个框架。我有许多控件类型,它们都注册了自己的窗口类,其中一些使用标准窗口类之一的 WindowProc - 类似于以下示例。

这一切都工作了很长时间,但现在我现在遇到了堆损坏。但是,如果我在 CreateEx 调用中直接使用 WC_BUTTON 类,则不会出现堆损坏。

我怀疑这种从 WC_BUTTON 使用 WindowProc 注册窗口类的方式是否安全。是吗?

如果它是安全的,那么我当然需要在其他地方寻找堆损坏的过程。但如果没有,有没有一种安全的方法来做我想做的事情?(即使用新名称注册现有类 - 我这样做是为了能够从它们的窗口类名称中识别控件,给定任意窗口句柄)

我应该提到堆损坏发生在字符串分配中,并且所有参数似乎都是正确的——所以问题一定是在那之前的某个地方。

在此先感谢,马丁

0 投票
1 回答
86 浏览

actionscript-3 - 有什么方法可以在 Actionscript/Air 上自动执行 registerClassAlias?

我正在使用 registerClassAlias 将自定义类保存到 SharedObject 中,但这让我很头疼,因为每次创建新类时,都必须编写 registerClassAlias 语句,并且我的项目中有数百个自定义类要保存。

有什么方法可以减少工作量,还是每次制作要保存的课程时都必须手动编写 registerClassAlias ?