我在使用 winapi 时遇到问题,或者无论如何我都在猜测。当我关闭应用程序时,该过程仍然保持为“幽灵”。窗口像往常一样消失,但进程仍然存在,这阻止了我重新编译。我必须从任务管理器中手动杀死它。
我不知道代码的哪一部分是错误的,而且有点冗长,所以这里是完整代码的链接:http: //pastebin.com/TmRiCeR4
不过我的猜测是,它可能与这个循环有关:
while(1) {
if(PeekMessage(&msg, hwnd, 0, 0, PM_REMOVE)) {
if(msg.message == WM_QUIT) {
break;
}
TranslateMessage(&msg);
DispatchMessage(&msg);
} else
draw();
Sleep(100); //crappy way of stopping 10000000000000 loops a second
}
我猜它没有正确地“转义”循环,所以它永远不会在它之后到达 closewindow() 函数,但我可能是错的。我从教程中部分复制了代码,虽然我确实更改了它,所以我看不出教程代码中的问题是什么。这是我正在谈论的教程(可能已经过时?):http ://bobobobo.wordpress.com/2008/02/11/opengl-in-a-proper-windows-app-no-glut/
谷歌也没有给我答案。有任何想法吗?