Advertisement
Guest User

Untitled

a guest
Mar 13th, 2018
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     char *get_open_filename(char *filter, char *fname)
  2.     {
  3.         OPENFILENAMEW ofn;
  4.         WCHAR szFile[MAX_PATH];
  5.  
  6.         HWND SitehWnd;
  7.         SitehWnd = GetAncestor(GetActiveWindow(), GA_ROOTOWNER);
  8.  
  9.         string str_filter = string(filter).append("||");
  10.         replace(str_filter.begin(), str_filter.end(), '|', '\0');
  11.         string str_fname = fname;
  12.  
  13.         tstring tstr_filter = widen(str_filter);
  14.         tstring tstr_fname = widen(str_fname);
  15.         wchar_t *wstr_fname = const_cast<wchar_t *>(tstr_fname.c_str());
  16.  
  17.         ofn.lStructSize = sizeof(ofn);
  18.         ofn.hwndOwner = SitehWnd;
  19.         ofn.lpstrFile = wstr_fname;
  20.         ofn.nMaxFile = sizeof(szFile);
  21.         ofn.lpstrFilter = tstr_filter.c_str();
  22.         ofn.nFilterIndex = 0;
  23.         ofn.lpstrTitle = NULL;
  24.         ofn.lpstrInitialDir = NULL;
  25.         ofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY | OFN_LONGNAMES;
  26.  
  27.         if (GetOpenFileNameW(&ofn) != 0)
  28.         {
  29.             static string result;
  30.             result = shorten(ofn.lpstrFile);
  31.             return (char *)result.c_str();
  32.         }
  33.  
  34.         return (char *)"";
  35.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement