何もおこらない
#define UNICODE #include <windows.h> int APIENTRY wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow) { OPENFILENAME ofn = {sizeof(OPENFILENAME)}; WCHAR filename[MAX_PATH]; ofn.hwndOwner = NULL; ofn.lpstrFile = filename; ofn.nMaxFile = MAX_PATH; ofn.Flags = OFN_FILEMUSTEXIST | OFN_NONETWORKBUTTON | OFN_PATHMUSTEXIST; if (GetOpenFileName(&ofn)) { MessageBox(NULL, filename, L"", MB_OK); } return 0; }
を実行しても何も起こらない。なんでか分かる? 答えは lpstrFile に指定する文字列を初期化し忘れてるから。なんという素敵仕様。