先に回答がありますが書いてしまったので投下します(´・ω・`)
WinAPIのkernel32.dllを使いました
#uselib "kernel32.dll"
#func GetLogicalDriveStrings "GetLogicalDriveStringsA" int,int
bufsize = 256
sdim buf,bufsize+1
GetLogicalDriveStrings bufsize,varptr(buf)
//この関数で返ってくる文字はなんとnull文字区切り
//なのでHSPでは最初以外表示されない(´・ω・`)
//一応
;mes buf
//
repeat bufsize
if peek(buf,cnt) = 0{
if peek(buf,cnt+1) = 0{
//区切りの最後はnull文字が2回続くようなので
//2回続いたらループからbreakで抜ける
break
} else {
//null文字が1個だったら区切り
memcpy buf,buf,bufsize-cnt-2,cnt+1,cnt
//memcpyで1つずらして
wpoke buf,cnt,2573
//wpokeでnull文字ごと改行コードで上書き
}
}
loop
mes buf
mes "\n\n\n"
//後は
letter = "D:\\" //検索したい文字
if instr(buf,0,letter) != -1{
mes letter+"は存在します"
}
まじめに解説入れてみたのでわかりやすいと思います