Drive

提供: AutoHotkey Wiki
移動: 案内検索

実行制御 | GUI表示 | 演算・変数 | メモリ・DLL操作 | 文字列操作 | キーボード | マウス | シェル | ウィンドウ | ウィンドウグループ
ステータスバー | コントロール | サウンド | ファイル | INIファイル | レジストリ | 環境変数 | AutoHotkey | その他 | 設定関係 | オブジェクト

Drive[編集]

光学ドライブのトレイの開閉、ドライブのボリュームラベルの変更。

Drive, Label [, Drive , NewLabel]
Drive, Eject [, Drive , Retract?]
Drive, Lock, Drive
Drive, Unlock, Drive

Drive, Label [, Drive , NewLabel][編集]

ドライブのボリュームラベルをNewLabelに変更する。
NewLabelを省略すると、ボリュームラベルなしになる。
Driveには、ドライブ文字とコロンを指定する。(例: C:)(UNCやマップドドライブも指定可能)
ボリュームラベル名を取得するには、以下のようにする。

DriveGet, OutputVar, Label, C:

Drive, Eject [, Drive , Retract?][編集]

CDやDVDなどの光学ドライブのトレイを排出/格納する。
Driveを省略した場合、デフォルトの光学ドライブが操作される。
開かれたトレイを戻す場合、第3引数に 1を指定する。

Drive, Eject, G:, 1

開いているトレイを開こうとした場合や、閉じているトレイを閉じようとした場合、操作は成功とみなされる(ErrorLevel0になる)。
光学ドライブ以外のドライブを操作しようとした場合は、このコマンドは動作せず、ErrorLevel1になる。

このコマンドを実行するとは、トレイの排出/格納が終了するまでスクリプトは停止する。
現在のところ、停止中はホットキーなどが効かなくなり、フックを利用しているとキーボード/マウス操作にラグが発生する。

開いているトレイを開こうとするとコマンドが即座に終了することを利用することで、下の例のように閉じていれば開き、開いていれば閉じるという操作を実現できる。

#c::
Drive, Eject
; If the command completed quickly, the tray was probably already ejected.
; In that case, retract it:
If A_TimeSinceThisHotkey < 1000 ; Adjust this time if needed.
     Drive, Eject,, 1
Return

DriveGetコマンドを使用することで、光学ドライブの動作状況を取得することができる。

Drive, Lock, Drive[編集]

光学ドライブのトレイ排出を禁止する。システム全体で有効となる。
ロックを実行したスクリプト以外のスクリプトやプログラムがロックを解除することも可能。
ロックを解除するか、システムを再起動するまでロックは有効になる。

Drive, Unlock, Drive[編集]

Drive, Lockやその他の理由でロックされたドライブのロックを解除する。
NT系では、複数回ロックをかけられたドライブは、ロックをかけられた回数だけアンロックを行わないと排出可能にならない。
ドライブがロックされているかどうかを直接調べる方法は、ない。

ErrorLevel[編集]

AHKL [v1.1.04+] このコマンドは失敗した場合に例外をスローすることができる。詳細は実行時エラーを参照。

正常終了すれば 0、何か問題があれば 1

Related[編集]

DriveGet, DriveSpaceFree

Example(s)[編集]

Drive, Label, D:, BackupDrive
Drive, Eject,, 1 ; Retract (close) the tray of the default CD or DVD drive.