Win32 GetOpenFileName предотвращает выход из приложения - PullRequest
2 голосов
/ 25 октября 2010

Я использую Win32 с C ++ для создания приложения, которое может загружать содержимое файлов через диалог с функцией GetOpenFileName.Все работает нормально, за исключением случаев, когда я закрываю главное окно, а приложение завершает работу и выводит его на консоль:

Поток 'Win32 Thread' (0xa50) завершился с кодом 0 (0x0).

Но основной процесс продолжает работать, и мне приходится явно уничтожать его в Visual Studio диспетчера задач, и я получаю следующий вывод:

Программа '[2620]DBSCAN.exe: Native 'завершил работу с кодом -1073741510 (0xc000013a).

Создает ли GetOpenFileName новый поток, который я должен прекратить сам?Я проверил MSDN и несколько учебных пособий, похоже, я не делаю ничего, кроме стандартного использования, открываю файл, читаю содержимое, закрываю файл.

Я могу опубликовать некоторый код при необходимости, любая помощь будет приветствоваться.

Спасибо

1 Ответ

0 голосов
/ 03 января 2011

попробуйте не устанавливать владельца (ofnflags.hwndOwner = NULL).

если вы установите владельца, то появившееся окно будет иметь резьбу как дочернее окно владельца, что, в свою очередь, приведет к описанному вами поведению.

...