Windows XP で特定のアプリケーションが PCI シリアル COM カードにアクセスするのをブロックするにはどうすればよいですか?

Windows XP で特定のアプリケーションが PCI シリアル COM カードにアクセスするのをブロックするにはどうすればよいですか?

特定のアプリケーションがハードウェアにアクセスできないようにすることはできますか? 2 枚の PCI カードをインストールしており、合計 4 つの COM ポートがあります。残念ながら、この 1 つのアプリケーションが起動時に 4 つのポートすべてをブロックします。1 つの PCI デバイスのみを強制的に認識させ、他の 2 つの COM ポートを他のアプリケーション用に空けておくことはできますか? ライセンスの関係で、このオフライン ラボ コンピューターで Windows XP から移行できません。

答え1

この 1 つのアプリケーションが起動時にのみ検出されたすべての PCI をブロックすると仮定すると、最も簡単な解決策は、起動時にこれらのポートを有効にしないことです。

したがって、これらのポートが必要な場合にのみ有効にしてください。そうすれば、アプリケーションが新しく有効になったポートを検出しなくなるはずです。

使えるツールの一つは COM無効、 記述:

COMDisable ツールを使用すると、コンピューターで使用可能な COM ポートの一覧を表示できます。また、レジストリを手動で編集せずに、コンピューターの COM ポートを無効または有効にすることもできます。

(私はこのツールを使ったことがないので、どれほどうまく機能するかはわかりません。)


XP では、起動時にポートが検出されないように設定することもできます。

  • ファイルから隠し属性、システム属性、読み取り専用属性を削除しC:\Boot.ini 、バックアップコピーを作成します。
  • メモ帳などのテキストエディタを使用してBoot.iniファイルを開き、次のような行を追加します。/fastdetect:com3,com4
  • 保存しBoot.iniてメモ帳を終了する
  • 隠し属性、システム属性、読み取り専用属性を復元する
  • Windows をシャットダウンして再起動します。

ポートを再度有効にするには、デバイスを接続し、ポートを取得するデバイスのスキャンを実行します。

デブコン スキャンやその他の操作に使用される可能性があります。ダウンロードしてください .cab ファイル そこから抽出することができますdevcon.exe

(注: テスト用の XP はありません。)

関連情報