2

ドッキング ステーションに接続されたモバイル デバイスで異なる動作をする必要があるソフトウェアを作成しています。そのため、コンピューターが C#/.NET のドッキング ステーションに接続されているかどうかをプログラムで確認する方法が必要です。

私は次のことを試しました:

残念ながら、これらのどれも「万能型」の状況では機能しないようでした。それらは私のテストデバイスの一部では機能しますが、他のデバイスでは機能しません.

さまざまなデバイスやドッキング ステーションに出くわす必要があります。デバイスが Windows にドッキングされているかどうかを確認するための一貫した信頼できる方法はありますか?

4

2 に答える 2

3

これを伝える普遍的な方法はありません。多くのドックは、デバイスのスタックが接続され、一部のIOポートを複製しているUSBハブのように見えますが、実際には、すでに試したことを可能にする「ドック」として動作するものもあります。

あなたがしなければならない可能性が高いのは、完全なハードウェアプロファイリングを使用してチェックすることです。ユーザーにラップトップのドッキングを解除するように依頼し、接続されているすべてのデバイスを確認し、ドッキングするようにユーザーに依頼してから、もう一度確認します。PCIバスとUSBバス上のすべての列挙可能なデバイスを確認する必要があります。

また、リムーバブルデバイスに対処するには少し魔法をかける必要があるため、両方のチェックを行う前に、ユーザーにすべてを削除するように依頼する必要があります。

于 2012-10-02T08:36:06.550 に答える
1

GetCurrentHwProfileを使用して、返されたHW_PROFILE_INFOdwDockInfoのフィールドを調べることを検討できます。

于 2012-10-02T09:59:39.823 に答える