Win32 GetOpenFileName阻止应用程序退出

时间:2010-10-25 14:13:39

标签: c++ visual-studio user-interface winapi getopenfilename

我正在使用Win32和C ++创建一个可以通过GetOpenFileName函数对话框加载文件内容的应用程序。一切正常,除非我关闭主窗口并退出应用程序并将其打印到控制台:

线程'Win32 Thread'(0xa50)已退出,代码为0(0x0)。

但是主进程一直在运行,我必须在Visual Studio中明确地杀死它 任务管理器,我得到了这个输出:

程序'[2620] DBSCAN.exe:Native'已退出,代码为-1073741510(0xc000013a)。

GetOpenFileName是否创建了一个我必须自行终止的新线程?我已经查看了msdn和一些教程,我似乎没有做任何与标准用法不同的事情,打开文件,阅读内容,关闭文件。

如果需要,我可以发布一些代码,欢迎任何帮助。

由于

1 个答案:

答案 0 :(得分:0)

尝试不设置所有者(ofnflags.hwndOwner = NULL)。

如果您设置了所有者,则发生的窗口将作为所有者的子窗口进行线程化,这反过来会导致您描述的行为。