程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> 關於VC++ >> vc如何創建桌面快捷方式

vc如何創建桌面快捷方式

編輯:關於VC++
BOOL CDlg::CreateDesktopShotCut(CString strName, CString strSourcePath)  
{  
    if (FAILED(CoInitialize(NULL)))  
        return FALSE;  
    BOOL bRet = FALSE;  
          
    TCHAR Path[MAX_PATH+1];  
    CString strDestDir;  
    LPITEMIDLIST pidl;  
    LPMALLOC pShell;  
    if(SUCCEEDED(SHGetMalloc(&pShell)))  
    {  
        if(SUCCEEDED(SHGetSpecialFolderLocation(NULL,CSIDL_DESKTOPDIRECTORY,&pidl)))  
        {  
            if(!SHGetPathFromIDList(pidl,Path))  
            {  
                pShell->Free(pidl);  
            }  
            pShell->Release();  
            strDestDir.Format(_T("%s"),Path);  
            strDestDir+= _T("\\");  
            strDestDir+= strName;//設置桌面快捷方式的名字  
            strDestDir+= _T(".lnk");  
            IShellLink* psl;  
                  
            if(SUCCEEDED(CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (LPVOID*)&psl)))  
            {  
                psl->SetPath(strSourcePath + _T("Player.exe"));//設置快捷方式的目標位置   
                //比如目標位置為C:\windows\a.txt 起始位置就應該設置為C:\windows否則會導致不可預料的錯誤  
        //
		
							
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved