西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁編程開發(fā)其它知識 → 用bat 創(chuàng)建的快捷方式

用bat 創(chuàng)建的快捷方式

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:本站整理時間:2010/12/4 11:39:05字體大小:A-A+

作者:飛翔點擊:1370次評論:0次標(biāo)簽: bat 快捷方式

  • 類型:DLL和OCX大。8.6M語言:中文 評分:2.5
  • 標(biāo)簽:
立即下載

 首選BAT是無法自已創(chuàng)建 LNK的快捷方式的, URL的快捷方式可以創(chuàng)建

一、 簡潔的方法

先通過Windows為相應(yīng)的程序創(chuàng)建一個快捷方式,再將系統(tǒng)自動生成的快捷方式名修改一下,也就是把快捷方式名中的空格刪除。然后可以建立一個批處理文件,使用move命令或copy命令即可完成。比如需要為C盤tv目錄下的vnc.exe在桌面是創(chuàng)建快捷方式,可先通過Windows系統(tǒng)為該程序創(chuàng)建一個快捷方式vnc.lnk,然后建立個bat文件,在文件中編寫如下命令:

cd %userprofile%\桌面

copy c:\tv\vnc.lnk

或者輸入以下命令:

cd %userprofile%\桌面

move c:\tv\vnc.lnk

或者:

copy  QQ2010.lnk "%userprofile%\桌面\QQ2010.lnk"

二、稍微復(fù)雜點的辦法

直接建立一個批處理文件,在其中輸入以下命令(依然以“為C盤tv目錄下的vnc.exe在桌面是創(chuàng)建快捷方式”為例):

set path=c:\tv\vnc.exe
set topath="%USERPROFILE%\桌面\VNC.url"
echo [InternetShortcut] >> %topath%
echo URL="%path%" >> %topath%
echo IconIndex=0 >> %topath%
echo IconFile=%path% >> %topath%

 通過BAT創(chuàng)建 VBS 和 vbs來創(chuàng)建快捷方式

思路:

思路:通過bat輸出vbs代碼,然后調(diào)用WScript.exe執(zhí)行相關(guān)代碼

@echo
set ShortcutTargetPath="%~dp0%..\External\DEVENV.bat"
set ShortcutPath="C:\Documents and Settings\lanx\Desktop\TCT.lnk"
set IconLocationPath="%VS80COMNTOOLS%..\IDE\devenv.exe,3"
set HotKey="CTRL+SHIFT+T"

echo Set WshShell=WScript.CreateObject("WScript.Shell") >>tmp.vbs
echo Set Shortcut=WshShell.CreateShortCut(%ShortcutPath%) >>tmp.vbs

echo Shortcut.Hotkey = %HotKey% >>tmp.vbs
echo Shortcut.IconLocation=%IconLocationPath% >>tmp.vbs
echo Shortcut.TargetPath=%ShortcutTargetPath% >>tmp.vbs
echo Shortcut.Save >>tmp.vbs
"%SystemRoot%\System32\WScript.exe" tmp.vbs
@del /f /s /q tmp.vbs

四 用API來創(chuàng)建

編寫一個程序,通過API函數(shù)為相應(yīng)的程序創(chuàng)建快捷方式

        通過Shell編程達到目的,但是這種方法在XP中不太實用,因為不容易得到不同用戶的桌面目錄。下面是MFC代碼:

HRESULT CttDlg::CreateShortcut(LPCSTR pszPathObj, LPSTR pszParam, LPSTR pszPath, LPSTR pszPathLink,LPSTR pszDesc)
{
HRESULT     hres     ;     
      IShellLink     *     psl     ;     
      IPersistFile*     ppf     ;     
      WORD     wsz[ 100]     ;     
    
CoInitialize(NULL);     

hres     =     (HRESULT)CoCreateInstance(     CLSID_ShellLink,     NULL,     CLSCTX_INPROC_SERVER,     IID_IShellLink,    (void **) &psl)     ;     

if(     FAILED( res))     
{
        
    CoUninitialize();     
          return     FALSE     ;     
       }     
            //     set     the     path     to     the     shortcut     target,     and     add     the     description     
      psl    ->     SetPath(pszPathObj);
      psl    ->     SetArguments(    pszParam)     ;     
      psl    ->     SetDescription(pszDesc);     
      psl    ->     SetWorkingDirectory(pszPath);     
    
              //     query     IShellLink     for     the     IPersistFile     interface     for     saving     the     shortcut     in     persistent     storage     
      hres     =     (HRESULT)(psl     ->     QueryInterface(     IID_IPersistFile,     (void **)&ppf))     ;     
      if(     FAILED(     hres))     
      {     
           CoUninitialize();     
           return     FALSE     ;     
      }     
    
            //     ensure     that     that     string     is     ANSI     
      MultiByteToWideChar(     CP_ACP,     0,     pszPathLink,     -1,     (LPWSTR)wsz,     100);
    
            //     save     the     link     by     calling     IPersistFile::Save     
      hres     =     ppf    ->     Save((LPCOLESTR)wsz,     STGM_READWRITE)     ;     
    
            //     release     the     IPersistFile     interface     
ppf ->Release();
            //     release     the     IShellLink     interface     
psl ->Release();
    
      CoUninitialize();     
    
      return     hres     ;    
}

為了通知系統(tǒng)桌面發(fā)生變化,需要再定義如下函數(shù):

void CttDlg::NotifyShell(LONG wEventId, LPSTR szPath)
{
SHChangeNotify(wEventId,SHCNF_FLUSH | SHCNF_PATH,szPath,0);

SHChangeNotify(SHCNE_UPDATEDIR | SHCNE_INTERRUPT,SHCNF_FLUSH | SHCNF_PATH,szPath,0);
}

然后就可以通過如下代碼進行調(diào)用了:

CreateShortcut("c:\\windows\\notepad.exe","c:\\config.sys","c:\\windows","C:\\Documents and Settings\\Xu YingMing\\桌面記事本.lnk","記事本");
NotifyShell(SHCNE_MKDIR | SHCNE_INTERRUPT,"c:\\windows\\notepad.exe");

              以上三種方法皆可實現(xiàn)目的,但是前兩種相對簡單,而第三種方法就要復(fù)雜的多。


 

    dll文件
    (300)dll文件
    小編為您整理了文件合集下載和文件修復(fù)工具下載大全,方便解決您日常出現(xiàn)的一些問題。簡介的全稱是,中文叫做動態(tài)鏈接文件。在操作系統(tǒng)中,對于程序執(zhí)行是非常重要的,因為程序在執(zhí)行的時候,必須鏈接到文件,才能夠正確地運行。而有些文件可以被許多程序共用。因此,程序設(shè)計人員可以利用文件,使程序不至于太過巨大。但是當(dāng)安裝的程序越來越多,文件也就會越來越多,如果當(dāng)你刪除程序的時候,沒有用的文件沒有被刪除的話,久而久之就造成系統(tǒng)...更多>>

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)