Win7下VHD文件右键增强实现代码(vbs+注册表)

所属分类: 脚本专栏 / vbs 阅读数: 2139
收藏 0 赞 0 分享

1、保存以下代码到:c:\windows\system32\vdm.vbs

复制代码 代码如下:

Dim Args
Set Args = WScript.Arguments
TranArgs = " "
For i = 0 To Args.Count - 1
 TranArgs = TranArgs & """" & Args(i) & """" & " "
Next

If Args(0) <> "-hFlag" Then
 If Args(0) <> "-hWind" Then
  CreateObject("Shell.Application").ShellExecute "wscript.exe", _
   """" & WScript.ScriptFullName & """" & " -hWind" & TranArgs, "", "runas", 1
  WScript.Quit(5)
 Else
  CreateObject("Wscript.Shell").Run "cscript.exe " & _
   """" & Wscript.ScriptFullName & """" & Replace(TranArgs, "-hWind", "-hFlag"), 0, TRUE
  WScript.Quit(1)
 End If
Else
 'Add Your Codes
 Dim objShell, objExec
 Set objShell = WScript.CreateObject("Wscript.Shell")
 Set objExec = objShell.Exec("c:\windows\system32\diskpart.exe")

 objExec.StdIn.WriteLine "select vdisk file=""" & WScript.Arguments(2) & """"

 Select Case Args(1)
  Case "/M"
   objExec.StdIn.WriteLine "attach vdisk"
   objExec.StdIn.WriteLine "exit"
   WScript.Quit(0)

  Case "/D"
   objExec.StdIn.WriteLine "detach vdisk"
   objExec.StdIn.WriteLine "exit"
   WScript.Quit(0)

  Case Else
   'other
   WScript.Quit(0)
 End Select

 WScript.Quit(0)
End If

2、导入注册表文件:

复制代码 代码如下:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Virtual.Machine.HD\Shell]
@="none"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Virtual.Machine.HD\Shell\Dismount]
@="分离 VHD(&D)"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Virtual.Machine.HD\Shell\Dismount\command]
@="\"C:\\windows\\system32\\wscript.exe\" C:\\Windows\\System32\\vdm.vbs /D \"%1\""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Virtual.Machine.HD\Shell\Mount]
@="挂载 VHD(&M)"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Virtual.Machine.HD\Shell\Mount\command]
@="\"C:\\windows\\system32\\wscript.exe\" C:\\Windows\\System32\\vdm.vbs /M \"%1\""
[HKEY_CLASSES_ROOT\.vhd]
@="Virtual.Machine.HD"

文件打包下载:VHD 右键增强

更多精彩内容其他人还在看

vbscript Split函数用法详解(字符串转数组函数)

本文详细介绍了vbscript中split函数的用法,有关split函数的一些实例,vbscript中split函数的语法介绍,有需要的朋友参考下
收藏 0 赞 0 分享

VBS实现将Excel表格保存为txt文本

希望能够找到个能给excel表另存为TXT的VBS代码,虽然另存为可以选择,但还是需要直接VBS执行这一步另存为TXT格式的,应该如何写代码呢
收藏 0 赞 0 分享

vbs解决处理TXT文本数据相关问题实现代码

使用vbs处理txt数据时,会遇到一些问题,本文将提供详细的解决方法,希望可以帮助你们
收藏 0 赞 0 分享

关于vbs 生成静态页面过程中出现的问题

访问某个aspx页面,然后把服务器返回的页面以filestream 的形式保存为html格式,接下来将介绍实现代码
收藏 0 赞 0 分享

dim函数第三个参数设置截取字符的长度问题

dim函数的第三个参数,也就是截取字符的长度,我在设置这个的时候,出了些问题,提示无效的过程调用或参数,本文详细介绍如何解决
收藏 0 赞 0 分享

邪恶的eval和new Function使用介绍

这些代码可以干什么?可以肯定的是可以干很多猥琐的事
收藏 0 赞 0 分享

WScript.Shell对象SpecialFolders属性未公开文档分享

WshShell对象的SpecialFolders属性返WshSpecialFolders 对象,该对象是一个特殊文件夹集合,其中包含整套Windows特殊文件夹
收藏 0 赞 0 分享

用VBS修改(设置)系统时间和日期的代码

用 VBS 把系统的时间修改到2038年1月19日3时14分07秒之后,这样某些依赖于 Unix 时间戳的程序就会出问题。那么怎样用 VBS 修改系统的时间呢
收藏 0 赞 0 分享

VBS For Next循环的一些细节

For Next 语句是 VBS 中常用的循环语句,你可能已经用过无数次 For Next 循环,但是你是否注意过它的一些细节呢
收藏 0 赞 0 分享

VBS For Next循环的陷阱分享

在《VBS For Next循环的一些细节》中说到了 For Next 循环的控制变量仅仅在循环开始前求值一次,但是其中存在一处陷阱
收藏 0 赞 0 分享
查看更多