2013-08-25

L-05A L-02A等がCD-ROMとして認識したものを取り出すVBS

docomo系のMVNO通信SIMを使うのに、中古のL-05AやらL-02Aやらを使う訳です。
こいつらは、ドライバーの仮想CD-ROMを取り出し後モデムとして認識するのですが、よくCD-ROMでマウントしてしまいます。
結構不便です。
逆に言うと、問答無用で取り出ししてしまえば、モデムモードになります。
なので、問答無用で取り出しをするVBSを書く。

Windowsの機能で出来るのかもしれませんが、WindowsMediaPlayerのOCXに便利な機能があるので、それを利用しています。
Option Explicit
Dim WMP,CDD,Dno
Dno = 2

Set WMP = CreateObject("WMPlayer.OCX.7" )
Set CDD = WMP.cdromCollection
If CDD.Count >= Dno Then
 CDD.Item(Dno -1).Eject
End If
WScript.Quit

Dno = X が取り出したいドライブナンバーです。
内蔵が一般的には1になるので、モデムは2になるのでこの場合2です。
内蔵がなければ1になります。
仮想とかあればその分変わってきます。
よくわからなければ1から試せばいいかと。(物理ドライブでもトレイ開くだけですから)
実行するとドライブが存在すれば、USB取り外し音が鳴り、再びUSBマウント音が鳴ると思います。
無ければ処理しないので、何も表示しません。

メディア取り出しなので、UAC関係ないのでVISTA以降も大丈夫かと(8で大丈夫だし)
CD-ROMドライブなら汎用な取り出しVBSです。

きちんとするなら、中身をチェックすればいいんでしょうけど、それならエクスプローラーの取り出しで良いじゃんってなっちゃうので、これぐらいで。

0 コメント:

コメントを投稿