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

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
いとちゃん

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

#1 投稿記事 by いとちゃん »

みなさんお元気ですか。

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

ご存じの方がいらっしゃいましたらぜひお願いいたします。
たかせ
記事: 215
登録日時: 2006年2月05日(日) 17:10
お住まい: 東京都

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

#2 投稿記事 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を利用した方が楽です。

よろしくお願いいたします。
返信する