ksacvet777.moy.su
Главная » Статьи » IT

некоторые полезные функции для ShellAPI

OpenHiperLinkInDefaultBrowser - Открывает в браузере по умолчанию указанную в параметре ссылку.


OpenDirectoryInWindowsExplorer - Открывает в проводнике папку.

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;
}
 
 
 
Категория: IT | Добавил: ksacvet777 (05.11.2014)
Просмотров: 354 | Теги: shellapi.api, File, открыть, Проводник, Explorer, файл, SHELL | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: