mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-04 19:07:20 +00:00
shell32: Add Unicode version of GetFileNameFromBrowse.
Implement GetFileNameFromBrowse as an AW function.
This commit is contained in:
parent
4622889bd5
commit
e8f05eeff3
|
@ -58,7 +58,7 @@
|
|||
60 stdcall -noname ExitWindowsDialog(long)
|
||||
61 stdcall -noname RunFileDlg(long long long str str long) RunFileDlgAW
|
||||
62 stdcall -noname PickIconDlg(long long long long)
|
||||
63 stdcall -noname GetFileNameFromBrowse(long long long long str str str)
|
||||
63 stdcall -noname GetFileNameFromBrowse(long long long long str str str) GetFileNameFromBrowseAW
|
||||
64 stdcall -noname DriveType(long)
|
||||
65 stdcall -noname InvalidateDriveType(long)
|
||||
66 stdcall -noname IsNetDrive(long)
|
||||
|
|
|
@ -167,10 +167,9 @@ DWORD WINAPI ParseFieldAW(LPCVOID src, DWORD nField, LPVOID dst, DWORD len)
|
|||
}
|
||||
|
||||
/*************************************************************************
|
||||
* GetFileNameFromBrowse [SHELL32.63]
|
||||
*
|
||||
* GetFileNameFromBrowseA [internal]
|
||||
*/
|
||||
BOOL WINAPI GetFileNameFromBrowse(
|
||||
BOOL WINAPI GetFileNameFromBrowseA(
|
||||
HWND hwndOwner,
|
||||
LPSTR lpstrFile,
|
||||
DWORD nMaxFile,
|
||||
|
@ -214,6 +213,72 @@ BOOL WINAPI GetFileNameFromBrowse(
|
|||
return ret;
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
* GetFileNameFromBrowseW [internal]
|
||||
*/
|
||||
BOOL WINAPI GetFileNameFromBrowseW(
|
||||
HWND hwndOwner,
|
||||
LPWSTR lpstrFile,
|
||||
DWORD nMaxFile,
|
||||
LPCWSTR lpstrInitialDir,
|
||||
LPCWSTR lpstrDefExt,
|
||||
LPCWSTR lpstrFilter,
|
||||
LPCWSTR lpstrTitle)
|
||||
{
|
||||
HMODULE hmodule;
|
||||
BOOL (WINAPI *pGetOpenFileNameW)(LPOPENFILENAMEW);
|
||||
OPENFILENAMEW ofn;
|
||||
BOOL ret;
|
||||
|
||||
TRACE("%p, %s, %d, %s, %s, %s, %s)\n",
|
||||
hwndOwner, debugstr_w(lpstrFile), nMaxFile, debugstr_w(lpstrInitialDir), debugstr_w(lpstrDefExt),
|
||||
debugstr_w(lpstrFilter), debugstr_w(lpstrTitle));
|
||||
|
||||
hmodule = LoadLibraryA("comdlg32.dll");
|
||||
if(!hmodule) return FALSE;
|
||||
pGetOpenFileNameW = (void *)GetProcAddress(hmodule, "GetOpenFileNameW");
|
||||
if(!pGetOpenFileNameW)
|
||||
{
|
||||
FreeLibrary(hmodule);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
memset(&ofn, 0, sizeof(ofn));
|
||||
|
||||
ofn.lStructSize = sizeof(ofn);
|
||||
ofn.hwndOwner = hwndOwner;
|
||||
ofn.lpstrFilter = lpstrFilter;
|
||||
ofn.lpstrFile = lpstrFile;
|
||||
ofn.nMaxFile = nMaxFile;
|
||||
ofn.lpstrInitialDir = lpstrInitialDir;
|
||||
ofn.lpstrTitle = lpstrTitle;
|
||||
ofn.lpstrDefExt = lpstrDefExt;
|
||||
ofn.Flags = OFN_EXPLORER | OFN_HIDEREADONLY | OFN_FILEMUSTEXIST;
|
||||
ret = pGetOpenFileNameW(&ofn);
|
||||
|
||||
FreeLibrary(hmodule);
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
* GetFileNameFromBrowse [SHELL32.63]
|
||||
*
|
||||
*/
|
||||
BOOL WINAPI GetFileNameFromBrowseAW(
|
||||
HWND hwndOwner,
|
||||
LPVOID lpstrFile,
|
||||
DWORD nMaxFile,
|
||||
LPCVOID lpstrInitialDir,
|
||||
LPCVOID lpstrDefExt,
|
||||
LPCVOID lpstrFilter,
|
||||
LPCVOID lpstrTitle)
|
||||
{
|
||||
if (SHELL_OsIsUnicode())
|
||||
return GetFileNameFromBrowseW(hwndOwner, lpstrFile, nMaxFile, lpstrInitialDir, lpstrDefExt, lpstrFilter, lpstrTitle);
|
||||
|
||||
return GetFileNameFromBrowseA(hwndOwner, lpstrFile, nMaxFile, lpstrInitialDir, lpstrDefExt, lpstrFilter, lpstrTitle);
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
* SHGetSetSettings [SHELL32.68]
|
||||
*/
|
||||
|
|
|
@ -53,7 +53,7 @@ void WINAPI SHDestroyPropSheetExtArray(HPSXA);
|
|||
BOOL WINAPI SHFindFiles(LPCITEMIDLIST,LPCITEMIDLIST);
|
||||
DWORD WINAPI SHFormatDrive(HWND,UINT,UINT,UINT);
|
||||
void WINAPI SHFree(LPVOID);
|
||||
BOOL WINAPI GetFileNameFromBrowse(HWND,LPSTR,DWORD,LPCSTR,LPCSTR,LPCSTR,LPCSTR);
|
||||
BOOL WINAPI GetFileNameFromBrowse(HWND,LPWSTR,DWORD,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
|
||||
HRESULT WINAPI SHGetInstanceExplorer(IUnknown**);
|
||||
HRESULT WINAPI SHGetFolderPathAndSubDirA(HWND,int,HANDLE,DWORD,LPCSTR,LPSTR);
|
||||
HRESULT WINAPI SHGetFolderPathAndSubDirW(HWND,int,HANDLE,DWORD,LPCWSTR,LPWSTR);
|
||||
|
|
Loading…
Reference in a new issue