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

1、保存以下代码到:c:windowssystem32vdm.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:windowssystem32diskpart.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_MACHINESOFTWAREClassesVirtual.Machine.HDShell]
@="none"
[HKEY_LOCAL_MACHINESOFTWAREClassesVirtual.Machine.HDShellDismount]
@="分离 VHD(&D)"
[HKEY_LOCAL_MACHINESOFTWAREClassesVirtual.Machine.HDShellDismountcommand]
@=""C:windowssystem32wscript.exe" C:WindowsSystem32vdm.vbs /D "%1""
[HKEY_LOCAL_MACHINESOFTWAREClassesVirtual.Machine.HDShellMount]
@="挂载 VHD(&M)"
[HKEY_LOCAL_MACHINESOFTWAREClassesVirtual.Machine.HDShellMountcommand]
@=""C:windowssystem32wscript.exe" C:WindowsSystem32vdm.vbs /M "%1""
[HKEY_CLASSES_ROOT.vhd]
@="Virtual.Machine.HD"

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