西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页编程开发其它知识 → 用bat 创建的快捷方式

用bat 创建的快捷方式

相关软件相关文章发表评论 来源:本站整理时间:2010/12/4 11:39:05字体大小:A-A+

作者:飞翔点击:1370次评论:0次标签: bat 快捷方式

  • 类型:DLL和OCX大小:8.6M语言:中文 评分:2.5
  • 标签:
立即下载

 首选BAT是无法自已创建 LNK的快捷方式的, URL的快捷方式可以创建

一、 简洁的方法

先通过Windows为相应的程序创建一个快捷方式,再将系统自动生成的快捷方式名修改一下,也就是把快捷方式名中的空格删除。然后可以建立一个批处理文件,使用move命令或copy命令即可完成。比如需要为C盘tv目录下的vnc.exe在桌面是创建快捷方式,可先通过Windows系统为该程序创建一个快捷方式vnc.lnk,然后建立个bat文件,在文件中编写如下命令:

cd %userprofile%\桌面

copy c:\tv\vnc.lnk

或者输入以下命令:

cd %userprofile%\桌面

move c:\tv\vnc.lnk

或者:

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

二、稍微复杂点的办法

直接建立一个批处理文件,在其中输入以下命令(依然以“为C盘tv目录下的vnc.exe在桌面是创建快捷方式”为例):

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创建 VBS 和 vbs来创建快捷方式

思路:

思路:通过bat输出vbs代码,然后调用WScript.exe执行相关代码

@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来创建

编写一个程序,通过API函数为相应的程序创建快捷方式

        通过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     ;    
}

为了通知系统桌面发生变化,需要再定义如下函数:

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);
}

然后就可以通过如下代码进行调用了:

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");

              以上三种方法皆可实现目的,但是前两种相对简单,而第三种方法就要复杂的多。


 

    dll文件
    (300)dll文件
    小编为您整理了文件合集下载和文件修复工具下载大全,方便解决您日常出现的一些问题。简介的全称是,中文叫做动态链接文件。在操作系统中,对于程序执行是非常重要的,因为程序在执行的时候,必须链接到文件,才能够正确地运行。而有些文件可以被许多程序共用。因此,程序设计人员可以利用文件,使程序不至于太过巨大。但是当安装的程序越来越多,文件也就会越来越多,如果当你删除程序的时候,没有用的文件没有被删除的话,久而久之就造成系统...更多>>

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)