状況は次のとおりです。シリアルポート経由でPCを実行中のPCに接続するハードウェアがあります。このカスタムハードウェアは、GPIBを介して他のハードウェアとインターフェースするために使用されます。さて、この設定をPC側で操作するために使用されるソフトウェアは、途中のハードウェアに触れることなく変更する必要があります。問題は、適切なシリアル通信を保持しています。通信に使用されるパラメータ(タイムアウト、特にボーレートとビットが良い)を新しいソフトウェアの任意の値に設定すると、通信エラーが多く発生しますので、正確に知りたいと思います。関数GetCommTimeouts()はジョブを行いますが、通信のハンドルが必要です。 CreateFile()への呼び出しによって取得されたデバイス - 元のソフトウェアのみがそのデバイスにアクセスできます。だから問題は、実行中の古いアプリの外からこれらの設定を保持できるかどうかです。実行中のアプリケーションの通信ポート設定を調べる
おかげで、 酒飲み
SysInternalsのProcess Monitorのようなツールを使用することをお勧めします。アプリケーションでシリアルポートを開いて設定するコールを監視できます。 –
それは有望なようですので、私はこのユーティリティを見ました。私はCreateFile操作を探していましたが、それは有用な情報を運ぶようには見えません。私は何を探していますか? – drinker
私はSetCommTimeoutsへの呼び出しをキャッチする必要があると思います - それはProc Monitorで可能ですか? – drinker