ShellExecute打开URL也会失败哦!解决如下
来源:互联网 发布:veket linux系统下载 编辑:程序博客网 时间:2024/06/10 03:41
/*******************************************************************
* 函数名称: GetRegKey
* 功 能: 获取注册表中的数据
*******************************************************************/
LONG GetRegKey(HKEY hKey, LPCTSTR szSub, LPTSTR szData)
{
HKEY hSubKey = NULL;
LONG lVal = RegOpenKeyEx(hKey, szSub, 0, KEY_QUERY_VALUE, &hSubKey);
if (lVal == ERROR_SUCCESS)
{
long lSize = MAX_PATH;
TCHAR data[MAX_PATH];
RegQueryValue(hSubKey, NULL, data, &lSize);
_tcscpy(szData, data);
RegCloseKey(hSubKey);
}
return lVal;
}
/*******************************************************************
* 函数名称: GotoURL
* 功 能: 打开URL页面
*******************************************************************/
HINSTANCE :GotoURL(LPCTSTR szURL)
{
TCHAR *verb = _T("open");
HINSTANCE result = ShellExecute(NULL, verb, szURL, NULL,NULL, SW_SHOWNORMAL);
if ((UINT)result <= HINSTANCE_ERROR)
{
TCHAR szKey[MAX_PATH*2] = {0};
if (GetRegKey(HKEY_CLASSES_ROOT, _T(".htm"), szKey) == ERROR_SUCCESS)
{
_tcscat(szKey, _T("\\shell\\open\\command"));
if (GetRegKey(HKEY_CLASSES_ROOT, szKey, szKey) == ERROR_SUCCESS)
{
TCHAR * pos = _tcsstr(szKey, _T("\"%1\""));
if (pos == NULL)
{
pos = _tcsstr(szKey, _T("%1"));
if (pos == NULL)
pos = verb + _tcslen(szKey)-1;
else
*pos = _T('\0');
}
else
{
*pos = _T('\0');
}
_tcscat(pos, _T(" "));
_tcscat(pos, szURL);
USES_CONVERSION;
result = (HINSTANCE) WinExec(T2A(szKey), SW_SHOW);
}
}
}
return result;
}
* 函数名称: GetRegKey
* 功 能: 获取注册表中的数据
*******************************************************************/
LONG GetRegKey(HKEY hKey, LPCTSTR szSub, LPTSTR szData)
{
HKEY hSubKey = NULL;
LONG lVal = RegOpenKeyEx(hKey, szSub, 0, KEY_QUERY_VALUE, &hSubKey);
if (lVal == ERROR_SUCCESS)
{
long lSize = MAX_PATH;
TCHAR data[MAX_PATH];
RegQueryValue(hSubKey, NULL, data, &lSize);
_tcscpy(szData, data);
RegCloseKey(hSubKey);
}
return lVal;
}
/*******************************************************************
* 函数名称: GotoURL
* 功 能: 打开URL页面
*******************************************************************/
HINSTANCE :GotoURL(LPCTSTR szURL)
{
TCHAR *verb = _T("open");
HINSTANCE result = ShellExecute(NULL, verb, szURL, NULL,NULL, SW_SHOWNORMAL);
if ((UINT)result <= HINSTANCE_ERROR)
{
TCHAR szKey[MAX_PATH*2] = {0};
if (GetRegKey(HKEY_CLASSES_ROOT, _T(".htm"), szKey) == ERROR_SUCCESS)
{
_tcscat(szKey, _T("\\shell\\open\\command"));
if (GetRegKey(HKEY_CLASSES_ROOT, szKey, szKey) == ERROR_SUCCESS)
{
TCHAR * pos = _tcsstr(szKey, _T("\"%1\""));
if (pos == NULL)
{
pos = _tcsstr(szKey, _T("%1"));
if (pos == NULL)
pos = verb + _tcslen(szKey)-1;
else
*pos = _T('\0');
}
else
{
*pos = _T('\0');
}
_tcscat(pos, _T(" "));
_tcscat(pos, szURL);
USES_CONVERSION;
result = (HINSTANCE) WinExec(T2A(szKey), SW_SHOW);
}
}
}
return result;
}
- ShellExecute打开URL也会失败哦!解决如下
- ShellExecute用法如下
- IT软件创业之 -- 小软件项目也有风险、也会失败、也会损兵折将
- IT软件创业之 -- 小软件项目也有风险、也会失败、也会损兵折将
- ShellExecute打开文件目录
- 全面解决.NET下Web项目打开失败的问题(也可用于.NET下Web项目的迁移)
- filter启动错误,整个web应用也会启动失败。
- 有互联网盈利模式也会失败,是真事!
- [转]解决右键用notepad++打开提示【ShellExecute failed (2): Is this command Correct? (Fix) 】
- Qt直接打开已知的URL,也可用于下载
- PS打开图片失败的解决方式
- 解决.exe视频“打开声音失败”等。
- 解决eclipse打开servlet源码失败问题
- 用ShellExecute打开一个程序
- C++用ShellExecute打开IE
- asp.net web页传参数为汉字时,会失败,有些汉字会变成乱码,解决方法如下:
- 文件指针过多没关,会导致文件打开失败
- Ueditor富编辑器第二次打开的时候会渲染失败
- 内核如何根据堆栈指针获current_thread_info
- Mallet使用遇到的问题
- ubuntu笔记
- Photoshop小技巧集锦
- 使用register_chrdev注册字符设备
- ShellExecute打开URL也会失败哦!解决如下
- Flex XML/XMLList 常用操作
- Java版本的ACE。
- 五大windows Socket 详解
- iOS最佳实践:视图生命周期该干什么
- First Missing Positive
- win8下面卸载MYSQL数据库
- win7系统下安装ubuntu双系统教程
- Haxe中的untyped关键字