我正在使用Win32和C ++创建一个可以通过GetOpenFileName函数对话框加载文件内容的应用程序。一切正常,除非我关闭主窗口并退出应用程序并将其打印到控制台:
线程'Win32 Thread'(0xa50)已退出,代码为0(0x0)。
但是主进程一直在运行,我必须在Visual Studio中明确地杀死它 任务管理器,我得到了这个输出:
程序'[2620] DBSCAN.exe:Native'已退出,代码为-1073741510(0xc000013a)。
GetOpenFileName是否创建了一个我必须自行终止的新线程?我已经查看了msdn和一些教程,我似乎没有做任何与标准用法不同的事情,打开文件,阅读内容,关闭文件。
如果需要,我可以发布一些代码,欢迎任何帮助。
由于
答案 0 :(得分:0)
尝试不设置所有者(ofnflags.hwndOwner = NULL)。
如果您设置了所有者,则发生的窗口将作为所有者的子窗口进行线程化,这反过来会导致您描述的行为。