HDDのシリアル表示方法

解決


ぺんね。  2008-08-22 20:27:25  No: 31621  IP: 192.*.*.*

HDDのシリアル表示方法がしりたいです。

DOSコマンドでvolで表示される  ****-****  4桁+4桁の値です。

よろしくお願いします。

編集 削除
igy  2008-08-22 21:01:18  No: 31622  IP: 192.*.*.*

APIのGetVolumeInformation関数は、どうですか?

編集 削除
ぺんね。  2008-08-22 21:17:48  No: 31623  IP: 192.*.*.*

ソース簡単にかいてもらってもいいですか?

スイマセン初心者で・・・

編集 削除
まずは  2008-08-22 22:28:34  No: 31624  IP: 192.*.*.*

初心者です!というなら調べましょ。
http://msdn.microsoft.com/ja-jp/library/cc429511.aspx
Googleで5分です。

編集 削除
まずは  2008-08-22 22:28:35  No: 31625  IP: 192.*.*.*

初心者です!というなら調べましょ。
http://msdn.microsoft.com/ja-jp/library/cc429511.aspx
Googleで5分です。

編集 削除
まずは  2008-08-22 22:28:41  No: 31626  IP: 192.*.*.*

初心者です!というなら調べましょ。
http://msdn.microsoft.com/ja-jp/library/cc429511.aspx
Googleで5分です。

編集 削除
まずは  2008-08-22 22:28:42  No: 31627  IP: 192.*.*.*

初心者です!というなら調べましょ。
http://msdn.microsoft.com/ja-jp/library/cc429511.aspx
Googleで5分です。

編集 削除
ofZ  2008-08-23 09:11:12  No: 31628  IP: 192.*.*.*

ハイソース(^^;)
http://www.dev.pei.jp/programming/sdk/sdk40.html

編集 削除
ぺんね。  2008-08-25 16:46:23  No: 31629  IP: 192.*.*.*

GetVolumeInformation(LPDWORD lpVolumeSerialNumber);

LPDWORD lpVolumeSerialNumber  コノ部分に赤いアンダーラインで
エラーがでてしまいます。

どうしたらよいでしょうか?

編集 削除
ぬこ  2008-08-25 17:39:53  No: 31630  IP: 192.*.*.*

> GetVolumeInformation(LPDWORD lpVolumeSerialNumber);

逆に質問しよう
上記の記述は、Pascal(Delphi言語)のものですか?

編集 削除
ぺんね。  2008-08-25 17:46:39  No: 31631  IP: 192.*.*.*

えぇ・・・・

ofZ様がハイソースといわれたので・・・
ちがうのですか。。。

スイマセン、ターボデルファイなのですがよろしくお願いします。

編集 削除
表裏 未里  URL  2008-08-25 21:50:16  No: 31632  IP: 192.*.*.*

過去ログにサンプルがありましたので、おいときますね。

https://www.petitmonte.com/bbs/answers?question_id=78

編集 削除
ぺんね。  2008-08-25 22:21:03  No: 31633  IP: 192.*.*.*

これでできるっぽいのですが・・・

var
  VolumeSerialNumber,
  MaximumComponentLength,
  FileSystemFlags: Cardinal;
  VolumeName: array[0..260] of char;
  FileSystemName: array[0..260] of char;
begin
  GetVolumeInformation(
    'C:\', // ドライブ
    VolumeName, // ボリュームネームが入る
    260, // ボリュームネームを格納するバッファのサイズ
    @VolumeSerialNumber, // ボリュームシリアルナンバーが入る
    MaximumComponentLength, // ファイル名は何文字までか、が入る
    FileSystemFlags, // ファイルシステムの情報が入る
    FileSystemName, // ファイルシステムの名前が入る
    260 // ファイルシステムの名前を格納するバッファのサイズ
  );

showMessage(@VolumeSerialNumber);

これで表示しようとしてもできません、シリアルナンバーの表示は
どうやるのでしうょうか?

編集 削除
表裏 未里  URL  2008-08-25 22:39:43  No: 31634  IP: 192.*.*.*

var
  VolumeSerialNumber,
 MaximumComponentLength,
 FileSystemFlags: Cardinal;
 VolumeName: array[0..260] of char;
 FileSystemName: array[0..260] of char;
begin
 GetVolumeInformation(
  'C:\', // ドライブ
  VolumeName, // ボリュームネームが入る
  260, // ボリュームネームを格納するバッファのサイズ
  @VolumeSerialNumber, // ボリュームシリアルナンバーが入る
  MaximumComponentLength, // ファイル名は何文字までか、が入る
  FileSystemFlags, // ファイルシステムの情報が入る
  FileSystemName, // ファイルシステムの名前が入る
  260 // ファイルシステムの名前を格納するバッファのサイズ
 );

  showMessage(inttostr(VolumeSerialNumber));

これでいかがでしょうか?

編集 削除
ぺんね。  2008-08-25 23:06:34  No: 31635  IP: 192.*.*.*

最高です!
表裏  未里様ありがとございました。

編集 削除
ぬこ  2008-08-26 08:20:14  No: 31636  IP: 192.*.*.*

解決済みだけど

> ちがうのですか。。。
変数の宣言から、全然違うでしょ?

> これで表示しようとしてもできません、シリアルナンバーの表示は
> どうやるのでしうょうか?
ただ「できません」じゃなくて、どんなエラーが発生するのか
どんなときに発生するのか書くように・・・

編集 削除