電子書籍の厳選無料作品が豊富!

WindowsのソフトでPCに接続されてるHDDがIDEかSATA(AHCI)かを検出したいのでが、何か良い方法ありまえんでしょうか?
適用されているHDDのドライバがの名前さえ分かればそれを基に判断できると思っていますすがどうでしょうか?

A 回答 (3件)

WMIを使えばできます。



たまたまサンプルを見つけたサイトがC#のサイトだったので、
C#で申し訳ありませんが、

using System;
using System.Collections.Generic;
using System.Text;
using System.Management;

namespace disk
{
class Program
{
static void Main(string[] args)
{
try
{
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("root\\CIMV2",
"SELECT * FROM Win32_DiskDrive");
foreach (ManagementObject queryObj in searcher.Get())
{
Console.WriteLine("[{0}] {1}",
queryObj["InterfaceType"], queryObj["Model"]);
}
}
catch (ManagementException e)
{
Console.WriteLine(
"An error occurred while querying for WMI data: "
+ e.Message);
}
}
}
}

Visual C# Express Editionで実行可能です。
System.Managementの参照を追加してください。
    • good
    • 0
この回答へのお礼

おお、すばらしい!
まさにこういうのを期待しておりました。
ありがとうございます。
ちなみにこんなサイトをどうやって見つけたんでしょうか?
何かコツがあるんでしょうか?

お礼日時:2007/05/11 11:50

No.2のlaughsheepです。



本サンプルはCodeZineで見つけました。

プログラムサンプルを見つけるときは以下のページを見ることが多いです。

CodeZine
http://codezine.jp/

The Code Project
http://www.codeproject.com/

Code Guru
http://www.codeguru.com/

Google Code Search
http://www.google.com/codesearch

あとは、MSDNやGoogleとか、オープンソースソフトウェアのソースをみてみたり。

WMI関連のコードを自動生成するならこのソフトが便利。
WMI Code Creator
http://www.microsoft.com/downloads/details.aspx? …
    • good
    • 0

デバイスマネージャでHDD見れば型番わかります。


その型番名で検索すれば販売ページやメーカーページに行き当たります(例えばGoogle検索)。

HDD本来の接続方法がIDEかSATA接続かはわかりそうです。(マザーと直につなぐとき、ね)
実際のパソコンには(メーカー製だとそのまま接続多いが)IDE>SATA変換もSATA>IDE変換接続もあります。

HDD交換(追加)したいという需要なら、どうせパソコン分解します。中のHDDを目で見れば確実です。

外付け機器ではUSB接続の中身(IEEE1394接続の中身なども)発売時期によってばらばらです。
いまではCD/DVDドライブもSATA接続は多いが、SATA接続でも単に変換ケーブルでIDE(ATAPI)ドライブつなぐときとSATA仕様のDVDドライブ使うことがあるでしょう。変換ケーブルはマザーボードに標準同梱です。
    • good
    • 0
この回答へのお礼

どうもありがとうございます。
ただ私の説明の仕方に問題がありました。
やりたい事は自分の作るプログラムでHDDがIDEモードかAHCIモードかを検出することです。その方法がどうも見つかりません。
もしご存知でしたらお願いします。

お礼日時:2007/05/10 18:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!