vc 创建快捷方式
2011-02-24 10:50
357 查看
//判断是否是第一次运行,如果是第一次运行就创建桌面快捷方式
DWORD dwMark = 0;
DWORD dwSize = sizeof(dwMark);
SHGetValue(HKEY_CURRENT_USER, _T("Software//hrjd//SearchMachine//SearchKey"), TEXT("mark"), NULL, &dwMark, &dwSize);
if(dwMark == 0)
{
TCHAR szPath[MAX_PATH] = TEXT("");
LPITEMIDLIST lpIdl = NULL;
SHGetSpecialFolderLocation(GetSafeHwnd(), CSIDL_DESKTOP, &lpIdl);
if(lpIdl != NULL)
{
SHGetPathFromIDList(lpIdl, szPath);
if(GetFileAttributes(szPath) & FILE_ATTRIBUTE_DIRECTORY)
{
PathAppend(szPath, TEXT("//网络共享.lnk"));
HRESULT hResult;
IShellLink *pShellLink = NULL;
IPersistFile *pPersistFile = NULL;
CoInitialize(NULL);
hResult = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (void **)&pShellLink);
if(SUCCEEDED(hResult))
{
TCHAR szSelfPath[MAX_PATH];
GetModuleFileName(NULL, szSelfPath, MAX_PATH);
pShellLink->SetPath(szSelfPath);
hResult = pShellLink->QueryInterface(IID_IPersistFile, (void**)&pPersistFile);
if(SUCCEEDED(hResult))
{
WCHAR szWPath[MAX_PATH];
wsprintfW(szWPath, L"%S", szPath);
pPersistFile->Save(szWPath, STGM_READWRITE);
pPersistFile->Release();
}
pShellLink->Release();
}
dwMark = 1;
SHSetValue(HKEY_CURRENT_USER, _T("Software//hrjd//SearchMachine//SearchKey"), TEXT("mark"), REG_DWORD, &dwMark, sizeof(dwMark));
}
}
}
DWORD dwMark = 0;
DWORD dwSize = sizeof(dwMark);
SHGetValue(HKEY_CURRENT_USER, _T("Software//hrjd//SearchMachine//SearchKey"), TEXT("mark"), NULL, &dwMark, &dwSize);
if(dwMark == 0)
{
TCHAR szPath[MAX_PATH] = TEXT("");
LPITEMIDLIST lpIdl = NULL;
SHGetSpecialFolderLocation(GetSafeHwnd(), CSIDL_DESKTOP, &lpIdl);
if(lpIdl != NULL)
{
SHGetPathFromIDList(lpIdl, szPath);
if(GetFileAttributes(szPath) & FILE_ATTRIBUTE_DIRECTORY)
{
PathAppend(szPath, TEXT("//网络共享.lnk"));
HRESULT hResult;
IShellLink *pShellLink = NULL;
IPersistFile *pPersistFile = NULL;
CoInitialize(NULL);
hResult = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (void **)&pShellLink);
if(SUCCEEDED(hResult))
{
TCHAR szSelfPath[MAX_PATH];
GetModuleFileName(NULL, szSelfPath, MAX_PATH);
pShellLink->SetPath(szSelfPath);
hResult = pShellLink->QueryInterface(IID_IPersistFile, (void**)&pPersistFile);
if(SUCCEEDED(hResult))
{
WCHAR szWPath[MAX_PATH];
wsprintfW(szWPath, L"%S", szPath);
pPersistFile->Save(szWPath, STGM_READWRITE);
pPersistFile->Release();
}
pShellLink->Release();
}
dwMark = 1;
SHSetValue(HKEY_CURRENT_USER, _T("Software//hrjd//SearchMachine//SearchKey"), TEXT("mark"), REG_DWORD, &dwMark, sizeof(dwMark));
}
}
}
相关文章推荐
- VC创建快捷方式
- VC 为程序创建快捷方式的详细讲解
- VC MFC 创建桌面快捷方式
- vc 创建桌面快捷方式
- vc++ windows 创建桌面快捷方式
- VC 为程序创建快捷方式的详细讲解
- VC 为程序创建快捷方式的详细讲解
- VC++创建快捷方式、删除快捷方式、添加开始菜单程序组菜单并删除程序组菜单的实例
- VC 为程序创建快捷方式的详细讲解
- VC创建桌面快捷方式-VC6.0/VS2010均通过
- VC 为程序创建快捷方式的详细讲解
- VC学习资料收集(24):在应用程序中创建快捷方式
- VC学习资料收集(23):创建快捷方式
- VC创建快捷方式
- VC创建快捷方式
- VC 创建快捷方式和得到桌面路径
- VC 为程序创建快捷方式的详细讲解
- VC 为程序创建快捷方式
- vc++ windows 快速启动栏创建快捷方式
- VC 如何创建自身快捷方式