加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

winapi – 如何使用win32在D中创建Windows?

发布时间:2020-12-14 02:11:08 所属栏目:Windows 来源:网络整理
导读:你好我想在D中用win32打开一个窗口,我有一点问题.当我调用CreateWindowA时程序崩溃. 这是我的代码: this.fenetrePrincipale = CreateWindowA(this.classeFenetre.lpszClassName,toStringz(title),WS_OVERLAPPEDWINDOW,100,null,this.hInstance,null); 有:
你好我想在D中用win32打开一个窗口,我有一点问题.当我调用CreateWindowA时程序崩溃.

这是我的代码:

this.fenetrePrincipale = CreateWindowA(this.classeFenetre.lpszClassName,toStringz(title),WS_OVERLAPPEDWINDOW,100,null,this.hInstance,null);

有:

this.classeFenetre.lpszClassName = toStringz("classeF");
this.hInstance = GetModuleHandleA(null);

string title = "test";

当我启动exe时,程序崩溃了,我得到了:

Process terminated with status -1073740791

在代码:: blocks.

解决方法

错误代码-1073740791(或0xc0000409)是由堆栈缓冲区溢出引起的(不是溢出,如在堆栈耗尽时,而是写入堆栈中不应写入的位置).

您显示的电话看起来不错.但是你没有向我们展示班级注册码,更重要的是你注册的WndProc.我不确定你是如何在D中做的,但你的WndProc需要声明__stdcall,以便它与Windows假定的调用约定相匹配.这是导致CreateWindow崩溃的常见问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读