文章导航PC6首页软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程服务器软件评测

安卓新闻资讯应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技模拟经营其它游戏游戏工具

网游cf活动dnf活动lol周免英雄lol礼包

手游最新动态手游评测手游活动新游预告手游问答

您的位置:首页资讯教程编程开发 → bat创建快捷方式技巧

bat创建快捷方式技巧

时间:2011/9/29 10:30:50来源:飓风整理作者:lff我要评论(0)

今天小编就来教大家bat创建快捷方式的方法,首选要告诉大家bat是无法自已创建lnk的快捷方式的,但是可以创建url快捷方式,下面一起来学习下bat创建快捷方式吧。

  一、 简洁的方法

  先通过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");

  方法四,winrar

  @echo off

  echo Path=%%SystemRoot%%\system32\>test.txt

  echo Silent=^2>>test.txt

  echo Overwrite=^1>>test.txt

  echo Shortcut=D, "mspaint.exe", "\", "创建和编辑图画,以及显示和编辑扫描获得的图片。", "图画">>test.txt

  start /wait winrar.exe a -r -ep1 -m1 -sfx -ztest.txt test.exe %SystemRoot%\system32\mspaint.exe

  start /wait test.exe

  del test.*

  热键和数值的对应关系

  833 - ctrl + shift + a

  834 - ctrl + shift + b

  835 - ctrl + shift + c

  836 - ctrl + shift + d

  837 - ctrl + shift + e

  838 - ctrl + shift + f

  1601 - ctrl + alt + a

  1602 - ctrl + alt + b

  1603 - ctrl + alt + c

  1604 - ctrl + alt + d

  1605 - ctrl + alt + e

  1606 - ctrl + alt + f

更多 0

相关阅读 快捷方便:批量整理你的文件Java新手学习:IIS6和Tomcat5的整合asp编程实现对Template层的分离MathType中的技巧详解Windows 2000快捷方式使用技巧Global.asa 正确使用Tomcat全攻略win2k下的批处理BAT文件运用

文章评论
发表评论

热门文章 TIOBE 2014年11月编程

最新文章 plsql developer怎么使plsql developer怎么连 visual studio最新版怎么安装eclipse字体大小怎么设置 eclipse字体大小Android Studio使用教程图文详解C#中正则表达式使用教程

人气排行 安卓模拟器BlueStacks安装使用教程php显示错误信息方法oracle查看实例名方法(带缩略图版)JS图片切换代码安装sql server 2000 序列号无法验证delphi odac安装方法讲解bat创建快捷方式技巧关于Delphi内存表的使用说明