你好我想在D中用win32打开一个窗口,我有一点问题.当我调用CreateWindowA时程序崩溃.
这是我的代码:
this.fenetrePrincipale = CreateWindowA(this.classeFenetre.lpszClassName, toStringz(title), WS_OVERLAPPEDWINDOW, 0, 0, 100, 100, null, null, this.hInstance, null);
Run Code Online (Sandbox Code Playgroud)
有:
this.classeFenetre.lpszClassName = toStringz("classeF");
this.hInstance = GetModuleHandleA(null);
Run Code Online (Sandbox Code Playgroud)
和
string title = "test";
Run Code Online (Sandbox Code Playgroud)
当我启动exe时,程序崩溃了,我得到了:
进程终止,状态为-1073740791
在代码:: blocks.
vha*_*lac 11
错误代码-1073740791(或0xc0000409)是由堆栈缓冲区溢出引起的(不是溢出,如在堆栈耗尽时,而是写入堆栈中不应写入的位置).
您显示的电话看起来不错.但是你没有向我们展示班级注册码,更重要的是,WndProc你注册了.我不确定你是如何在D中做的,但你WndProc需要声明__stdcall,以便它与Windows假定的调用约定相匹配.这是导致崩溃的常见问题CreateWindow.
| 归档时间: |
|
| 查看次数: |
764 次 |
| 最近记录: |