GetOpenFileName
関数を使用すると、多くのスレッドがアプリケーションに割り当てられることに気付きました。ダイアログが閉じられて関数が戻った後、これらを削除するにはどうすればよいですか? これらのスレッドで、アプリケーションをクラッシュさせないエラーも経験SIGSEGV
しましたが、どこからともなく出てきて、後で深刻なメモリの問題を引き起こす可能性があるため、依然として迷惑であり、win32 API にもこのような欠陥があってはなりません。私は何か間違ったことをしていますか?
また、私は c/c++ の初心者なので、あまり難しく考えないでください。
私のコード:
OPENFILENAME open;
ZeroMemory(&open, sizeof(open));
char szFileName[2048] = {};
open.lStructSize = sizeof(OPENFILENAME);
open.hwndOwner = NULL;
open.lpstrFilter = "Képek\0*.jpg;*.jpeg;*.gif;*.png;*.bmp\0\0";
open.lpstrFile = szFileName;
open.nFileOffset = 1;
open.nMaxFile = 2048;
open.lpstrTitle = "Képek kiválasztása..";
open.Flags = OFN_EXPLORER | OFN_ALLOWMULTISELECT | OFN_FILEMUSTEXIST;
std::string links = "";
if (GetOpenFileName(&open)) {
...
}