簡體   English   中英

Winapi錯誤1812

[英]Winapi error 1812

我正在嘗試創建一個無模式對話框,但是CreateDialog函數失敗,錯誤0x7141812 base10。

m_StatusHwnd = CreateDialog( hInstance,
                            MAKEINTRESOURCE( IDD_STATUSWND ),
                            0,
                            DXCore::statusWindProc );

// Check:
if ( m_StatusHwnd == NULL )
{
    string s = std::to_string( GetLastError( ) );
    MessageBox( 0, s.c_str( ), "Status Window init FAILED", MB_OK );
    return false;
}

我在VS2013中創建了資源。 我確保包括資源頭文件。 但是錯誤代碼暗示未找到或編譯資源:我在microsofts開發人員站點上發現了這一點:

ERROR_RESOURCE_DATA_NOT_FOUND 
1812 (0x714)
The specified image file did not contain a resource section.

在進一步的研究中,我發現可能需要創建一個無模式的類才能使其正常工作,但是我找不到任何有關此方法的教程或說明。

你能指出我的方向嗎?

該解決方案的靈感來自@Captain Obvlious。 我沒有在CreateDialog的第一個參數中使用hInstance,而是傳遞了NULL並且該函數成功完成-窗口顯示出了預期的效果。

m_StatusHwnd = CreateDialog( NULL,
                             MAKEINTRESOURCE( IDD_STATUSWND ),
                             0,
                             DXCore::statusWindProc );

來自msdn.microsoft.com:“ hInstance:包含對話框模板的模塊的句柄。如果此參數為NULL,則使用當前的可執行文件。”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM