2

デバイスマネージャーで有効/無効を許可するデバイスを再起動する方法に関するプログラム API を探しています。

オーディオ デバイスやネットワーク アダプタなど

4

2 に答える 2

4

SetupApi / ConfigManager APIを使用する必要があります。ただし、x64 ではアプリを使用することに注意してください。デバイスを有効/無効にするにはx64でもある必要があります(したがって、現在Delphiで直接行うことはできません-最初は、x64でのx86-appのファイル/レジストリリダイレクトの問題だと思いましたが、役に立ちませんでした)。デバイスの列挙は正常に機能します。MSDN の 1 つの記事でそれについて何かがありましたが、私は今それを見つけることができません。x64 OS でデバイスを有効/無効にするための FP/Lazarus x64 アプリケーションを作成しました。

WDKをダウンロードして、 DevConのソース コードを探すことができます(C:\WinDDK\7600.16385.1\src\setup\devcon)。cmds.cpp には、SetupApi を使用してデバイスを有効/無効にする関数 ControlCallback があります)。ただし、最初にデバイス クラスを (GUID または ClassName で) 列挙し、次にデバイス インスタンスを列挙するか、DeviceInstanceId 文字列でデバイスを開く必要があります。これは C で書かれていますが、その API の使い方は簡単に学べるはずです。

何をしているのかわかりませんが、その devcon.exe を使用して (ライセンスで許可されているかどうかわかりません)、デバイスを有効/無効にする方が簡単でしょうか?

于 2010-11-01T08:56:09.563 に答える
0

経験はありませんが、DeviceIoControl API を使用できると思います。

于 2010-11-01T08:26:01.160 に答える