Home > スポンサー広告 > AutoHotkeyでドライブ文字を取得する

スポンサーサイト

スポンサー広告

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Comments:-

2012-11-01 (木) 07:08

このコメントは管理者の承認待ちです

2014-07-28 (月) 23:45

このコメントは管理者の承認待ちです

2014-08-20 (水) 19:02

このコメントは管理者の承認待ちです

Comment Form

Trackback+Pingback:-

TrackBack URL for this entry
http://karafuto50.blog117.fc2.com/tb.php/212-74b96cf3
Listed below are links to weblogs that reference
スポンサーサイト from Karafuto Blog

Home > スポンサー広告 > AutoHotkeyでドライブ文字を取得する

Home > autohotkey > AutoHotkeyでドライブ文字を取得する

AutoHotkeyでドライブ文字を取得する

autohotkey

AutoHotkeyのコマンドでドライブ文字を取得

AutoHotkeyDriveGetコマンドの Listオプションでドライブ文字の一覧を取得する。

DriveGet, drives, List
list := RegExReplace(drives, "\w", "$0,", count, -1)
StringLen, length, list
StringLeft, list, list, % length - 1
MsgBox, %list%

; C,D,E

レジストリからドライブ文字を取得

AutoHotkeyの Loop (registry)コマンドでレジストリの「HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices」キーから「\DosDevices\(アルファベット):」という値を探して、ドライブ文字を取り出す。これだと、過去に使用したドライブ文字が残るようだ。

Loop, HKEY_LOCAL_MACHINE, SYSTEM\MountedDevices
{
    IfInString, A_LoopRegName, \DosDevices\
    {
        StringMid, drive, A_LoopRegName, 13, 1
        If (! list) {
            list = %drive%
        } else {
            list .= "`,"drive
        }
    }
}
Sort, list, CL D,
MsgBox, %list%

; A,C,D,E,F,G

Win32 APIでドライブ文字を取得

Win32 APIの GetLogicalDriveStrings 関数でドライブレターを取得するが、AutoHotkeyでは Null文字の後の値が取れないようなので、NumGet()関数で変数のメモリから数値を取り出し、文字に変換してみた。一応取れているけど、こんなやり方でいいんだろうか。

GetLogicalDriveStrings() { 
    nBufferLength = 108
    VarSetCapacity(lpBuffer, nBufferLength)
    length := DllCall("GetLogicalDriveStringsA", UInt, nBufferLength, Str, lpBuffer)
    Loop, %length%
    {
        If (A_Index = length) {
            break
        }
        chr := NumGet(lpBuffer, A_Index - 1, "UChar")
        chr := chr = 0 ? "`," : Chr(chr)
        str .= chr
    }
    return str
}

list := GetLogicalDriveStrings()
StringReplace, list, list, :\, , All
MsgBox, %list%

; C,D,E

Comments:3

2012-11-01 (木) 07:08

このコメントは管理者の承認待ちです

2014-07-28 (月) 23:45

このコメントは管理者の承認待ちです

2014-08-20 (水) 19:02

このコメントは管理者の承認待ちです

Comment Form

Trackback+Pingback:0

TrackBack URL for this entry
http://karafuto50.blog117.fc2.com/tb.php/212-74b96cf3
Listed below are links to weblogs that reference
AutoHotkeyでドライブ文字を取得する from Karafuto Blog

Home > autohotkey > AutoHotkeyでドライブ文字を取得する

おまかせリンク(R)
全記事表示リンク
Search
Meta
Feeds

Page Top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。