HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2024
0506
qwertyドライブの空き容量取得について1解決


qwerty

リンク

2024/5/6(Mon) 21:45:49|NO.101676

https://hsp.tv/play/pforum.php?mode=all&num=101667
ここのスレにてqwerty-XXというアプリを宣伝してた者です。

これのインストーラーの立ち位置にいるqwerty-XX copyerが、
空き容量が大きいサイズのドライブに対して「ドライブの残り容量が足りません。」
というダイアログを吐いてそれ以上進めなくなってしまうということが起こっています。

自分でできる限り調べてみたりして自分のわかる範囲で理解しようとしてみました。

#uselib "kernel32.dll" #func GetDiskFreeSpaceEx "GetDiskFreeSpaceExA" var,int,var,int drivepath="c:\\" GetDiskFreeSpaceEx drivepath,0,disksize,0
で変数disksizeから空き容量を取得できると思ってましたが、
GetDiskFreeSpaceEx関数の第2と第4パラメータが空き容量で、
第3は空き容量じゃなくて全部の容量だということがわかりました。
そこで以下に変更しました、

#uselib "kernel32.dll" #func GetDiskFreeSpaceEx "GetDiskFreeSpaceExA" var,var,var,var drivepath="c:\\" GetDiskFreeSpaceEx drivepath,NULL,NULL,disksize
で変数disksizeで空き容量を取得できるようにしました。
しかしdisksizeに返ってきた数値が実際の空き容量と異なってしまってます。

例:
実際の空き容量 885GB 951,234,236,416B
disksizeに返ってきた数値 2046464000

なぜこのようになってしまうのでしょうか?
もしかして返ってきた数値から何か計算を行ったりするのでしょうか?



この記事に返信する


qwerty

リンク

2024/5/6(Mon) 22:45:48|NO.101679

前述したスレ内で問題が解決したのでここのも解決としておきます。



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.101676への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

ONION software Copyright 1997-2023(c) All rights reserved.