将 WinMain 入口点嵌入到一个类中?

Kai*_*aan 1 c++ windows winapi winmain

我想知道,是否可以使用 win32 程序的入口点 - WinMain - 作为类方法?例如;

class cApp {
public:
    cApp();
   ~cApp();

    cGuiManager* guiManager;
   cServerManager* serverManager;
    cAudioManager* audioManager;

    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hInst, LPSTR lpCmdLine, int nCmdShow);
    static LRESULT CALLBACK WndProc(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam);
};
Run Code Online (Sandbox Code Playgroud)

谢谢!

Naw*_*waz 5

WinMain 不能是类作为程序的“条目”点的成员。对于这个问题,WinMain 不能任何名称空间(而不是全局命名空间等)。例如,即使user::WinMain如下所示也不能是程序的“入口”点。

namespace user
{
     int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int );
}
Run Code Online (Sandbox Code Playgroud)

程序的入口点必须定义在全局命名空间中。

但是,您可以在类中(或在某些其他命名空间中)拥有具有此名称的函数,您可以从全局命名空间中定义的实际入口点调用该WinMain函数。但是cApp::WinMain(或user::WinMain)绝不是程序的“入口”点。