PowerShellでCD-ROMドライブを開閉する

| 2011年11月6日日曜日

ドライブを開けることは知っていたけど、閉めることもできるんじゃないかと調べてみたらどうやらできるようだ。
⇒ http://thepowershellguy.com/blogs/posh/archive/2008/08/04/powershell.aspx

紹介されていたのは開閉どちらにでも使えるものだったけど、自分としては開ける、閉めるは別コマンドの方がよかったので分けてみた。
コードが重複しているけど、分けた方が使いやすいと思ったので。

--- Open-CDDrive.ps1 ---
  1. $winnm = Add-Type -memberDefinition @ 
  2.   [DllImport("winmm.dll", CharSet = CharSet.Ansi)]  
  3.   public static extern int mciSendStringA(  
  4.   string lpstrCommand,  
  5.   string lpstrReturnString,  
  6.   int uReturnLength,  
  7.   IntPtr hwndCallback);  
  8. "@  -ErrorAction 'SilentlyContinue' -passthru -name mciSendString  
  9.   
  10. $winnm::mciSendStringA("set cdaudio door open" ,$null ,0 ,0)  
--- Closed-CDDrive.ps1 ---
  1. $winnm = Add-Type -memberDefinition @ 
  2.   [DllImport("winmm.dll", CharSet = CharSet.Ansi)]  
  3.   public static extern int mciSendStringA(  
  4.   string lpstrCommand,  
  5.   string lpstrReturnString,  
  6.   int uReturnLength,  
  7.   IntPtr hwndCallback);  
  8. "@  -ErrorAction 'SilentlyContinue' -passthru -name mciSendString  
  9.   
  10. $winnm::mciSendStringA("set cdaudio door closed" ,$null ,0 ,0)  


0 コメント: