|
请问LS的,SHGetSpecialFolderPath 函数怎么使用?我现在是要启动IE,先取得系统目录,我用strcpy直接代替不知道行不行
memset( szSystemDir, 0x0, sizeof(szSystemDir ));
if ( !::GetSystemDirectory( szSystemDir, sizeof(szSystemDir) - 1 ) )
{
dwRet = GetLastError();
ATX_TRACE( AV_LOG_ERROR, "Snap_StartIEProcess", dwRet );
break;
}
//strcpy( szSystemDir, "\\windows");
memset( szRundll, 0x0, sizeof(szRundll));
sprintf( szRundll, "%s\\rundll32.exe", szSystemDir );
memset( szParam, 0x0, sizeof(szParam));
sprintf( szParam, "%s\\shimgvw.dll imageview_fullscreen %s", szSystemDir, strJPGFile);
PROCESS_INFORMATION pi;
SHELLEXECUTEINFO shinfo;
memset(&pi, 0, sizeof(PROCESS_INFORMATION));
memset(&shinfo, 0, sizeof(SHELLEXECUTEINFO));
MultiByteToWideChar (CP_ACP, 0, szRundll, -1, w_szRundll, MAX_PATH);
MultiByteToWideChar (CP_ACP, 0, szParam, -1, w_szParam, MAX_PATH);
shinfo.fMask = SEE_MASK_NOCLOSEPROCESS | SEE_MASK_FLAG_NO_UI;
shinfo.cbSize = sizeof(SHELLEXECUTEINFO);
shinfo.hwnd = NULL;
shinfo.lpVerb = _T("Open");
shinfo.lpFile = w_szRundll;
shinfo.lpParameters = w_szParam;
shinfo.nShow = SW_SHOWNORMAL;
BOOL bRet = ShellExecuteEx(&shinfo);
} |
|