ページ 11

Cドライブのフリーエリアを取得したい。

Posted: 2021年1月09日(土) 14:16
by いとちゃん
みなさんお元気ですか。

Cドライブのフリーエリアを取得したいのですが、内部関数で存在するでしょうか。(1)
それとも、DIRコマンドなどを内部的にコールする方法がありますでしょうか(2)
そのオプションで DIR > DIR.TXT などを作ってそこから読み取るでしょうか。

ご存じの方がいらっしゃいましたらぜひお願いいたします。

Re: Cドライブのフリーエリアを取得したい。

Posted: 2021年1月10日(日) 17:00
by たかせ
>Cドライブのフリーエリアを取得したいのですが、内部関数で存在するでしょうか。(1)
内部関数は存在しません。
Win32 API GetDiskFreeSpaceExでディスクの空き容量が取得できます。
詳細はABのヘルプに載ってますのでご確認願います。

コーディング例
DIM DISK1 AS ULARGE_INTEGER
DIM DISK2 AS ULARGE_INTEGER
DIM DISK3 AS ULARGE_INTEGER

GetDiskFreeSpaceEx("C:\",DISK1,DISK2,DISK3)


>それとも、DIRコマンドなどを内部的にコールする方法がありますでしょうか(2)
Win32 API ShellExceuteでコールできます。

コーディング例
ShellExceute(NULL,"open","cmd.exe","/c DIR d:\ > DIR.TXT",NULL,SHOW_NORMAL)

>そのオプションで DIR > DIR.TXT などを作ってそこから読み取るでしょうか。
まあできますがちょっと面倒です。
Win32 API GetDiskFreeSpaceExを利用した方が楽です。

よろしくお願いいたします。

Re: Cドライブのフリーエリアを取得したい。

Posted: 2024年5月10日(金) 16:34
by いとちゃん
なるほど、ありがとうございます!