2017-01-04 51 views
1

デバイスマネージャに記載されているすべての情報をPython 2.7スクリプトで読むだけでいいです。特に「IDE ATA/ATAPIコントローラ」サブカテゴリの情報。これはPythonデバイスマネージャの情報を読む

Device Manager

+0

これはOSに依存しますので、気になるオペレーティングシステムを指定する必要があります。 – rici

+0

Windows 7、Windows 8、Windows 8.1、およびWindows 10 – Erik343

+0

コントローラ名は、[Win32_IDEController'](https://msdn.microsoft.com/en-us/library/aa394155)WMIクラスを使用して取得できます。現在のレガシーATAまたはSATA AHCIモードで動作しているかどうかはわかりません。 ['BusType'](https://msdn.microsoft.com)の' StorageAdapterProperty'を照会するには、['IOCTL_STORAGE_QUERY_PROPERTY'](https://msdn.microsoft.com/en-us/library/ff800830)が必要な場合があります/ en-us/library/ff800833)、つまり 'BusTypeAta'と' BusTypeSata'を比較します。 – eryksun

答えて

0

... SATAドライブがAHCIまたはIDEモードであるかどうかを検出するために必要とされる私の方法は完璧ではないですが、それは私のために、ちょうどあなたの参照のためにこれまでのところ良い解決策です。 WDK(Windows Dev ... Kit)にあるdevcon.exeと私のコードを以下に示します。

try: 
    output = subprocess.Popen(["devcon","status","*"], stdout=subprocess.PIPE, stderr=subprocess.PIPE) #useing comma "," not space " " in Popen[]. replace the key word "*" to what you want to search. 
    stdout, stderr = output.communicate() 
    print "output: \n", output 
    print "stdout: \n", stdout # output here if ok. 
    print "stderr: \n", stderr # output if no arg  
except subprocess.CalledProcessError: 
    print('Exception handled') 
+0

または別の方法が、私は試していない。 https://pypi.python.org/pypi/infi.devicemanager –

関連する問題