Главная » Статьи » IT |
некоторые полезные функции для ShellAPI
OpenHiperLinkInDefaultBrowser - Открывает в браузере по умолчанию указанную в параметре ссылку.
OpenFileInDefaultApplication - Открывает файл в приложении для открытия по умолчанию.
inline bool OpenHiperLinkInDefaultBrowserA(const CHAR* url)
{ if(!ShellExecuteA(0, "open", url, NULL, NULL, SW_SHOW) ) { return true; } return false; } inline bool OpenHiperLinkInDefaultBrowserW(const WCHAR* url) { if(!ShellExecuteW(0, L"open", url, NULL, NULL, SW_SHOW) ) { return true; } return false; } bool OpenDirectoryInWindowsExplorerA(const CHAR* szDir) { SHELLEXECUTEINFOA SEI; ZeroMemory(&SEI, sizeof(SHELLEXECUTEINFOA)); SEI.cbSize= sizeof(SHELLEXECUTEINFOA); SEI.lpVerb = "open"; CHAR buffdir[MAX_PATH]; strcpy( buffdir, szDir); SEI.lpFile = buffdir; SEI.nShow = SW_SHOW; SEI.fMask= SEE_MASK_INVOKEIDLIST; if( ShellExecuteExA(&SEI) ) { return true; } return false; } bool OpenDirectoryInWindowsExplorerW(const WCHAR* szDir) { SHELLEXECUTEINFOW SEI; ZeroMemory(&SEI, sizeof(SHELLEXECUTEINFOW)); SEI.cbSize= sizeof(SHELLEXECUTEINFOA); SEI.lpVerb = L"open"; WCHAR buffdir[MAX_PATH]; wcscpy( buffdir, szDir); SEI.lpFile = buffdir; SEI.nShow = SW_SHOW; SEI.fMask= SEE_MASK_INVOKEIDLIST; if( ShellExecuteExW(&SEI) ) { return true; } return false; } bool OpenFileInDefaultApplicationA(const CHAR* fname) { HINSTANCE hi = ShellExecuteA( NULL, //__in_opt HWND hwnd, "open", //, __in_opt LPCTSTR lpOperation, fname, //__in LPCTSTR lpFile, NULL, //__in_opt LPCTSTR lpParameters, NULL, //__in_opt LPCTSTR lpDirectory, SW_SHOW //, //__in INT nShowCmd ); if(hi > (HINSTANCE)32) return true; return false; } bool OpenFileInDefaultApplicationW(const WCHAR* fname) { HINSTANCE hi = ShellExecuteW( NULL, //__in_opt HWND hwnd, L"open", //, __in_opt LPCTSTR lpOperation, fname, //__in LPCTSTR lpFile, NULL, //__in_opt LPCTSTR lpParameters, NULL, //__in_opt LPCTSTR lpDirectory, SW_SHOW //, //__in INT nShowCmd ); if(hi > (HINSTANCE)32) return true; return false; } | |
Просмотров: 383 | | |
Всего комментариев: 0 | |