注册 登录
编程论坛 C语言论坛

C语言这里哪出错了,对话框出不来,加printf调试也输出不了?

himdonkin 发布于 2023-04-20 09:09, 185 次点击
请大佬们看看,资源文件设置妥当了,但是对话框出不来!我是新手,总感觉代码没问题
只有本站会员才能查看附件,请 登录

程序代码:
#include<windows.h>
#include<stdio.h>
#include"resource.h"
HINSTANCE hInstance;
BOOL CALLBACK DlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    switch (msg)
    {
    case WM_INITDIALOG:
        printf("1111111");
        return TRUE;

    }
    return FALSE;
}
int main()
{
    hInstance=GetModuleHandleA(NULL);

    DialogBoxA(hInstance, (char*)IDD_DIALOG1, NULL, DlgProc);

    return 0;
}
2 回复
#2
rjsp2023-04-20 14:36
printf 是往控制台输出,你创建的不是控制台程序。建议你用 MessageBox。
当然,非控制台程序也可以分配一个控制台,用 AllocConsole。
#3
东海ECS2023-04-20 19:20
这段代码看起来没有明显的错误。但是,当你运行这段代码时,可能会出现以下问题:

对话框无法显示。这可能是因为你的资源文件没有正确加载。请确保你已经正确地设置了资源文件,并且你已经正确地加载了所有必需的资源文件。
你的代码中使用了一个名为“DlgProc”的回调函数。这个函数在对话框被创建时被调用。但是,在你的代码中,对话框被创建后,这个函数并没有被调用。
你的代码中使用了“printf”函数。但是,在你的代码中,“printf”函数并没有被调用。
为了解决这些问题,你可以尝试以下步骤:

确保你已经正确地设置了资源文件,并且你已经正确地加载了所有必需的资源文件。
检查你的代码中是否正确地调用了“DlgProc”函数。
检查你的代码中是否正确地调用了“printf”函数。
如果这些步骤都没有解决问题,你可以尝试使用调试器来查找问题的根本原因。例如,你可以使用Visual Studio Code的调试器来查找代码中的错误。
1