XPでVB6を使用して、USB−RS232C変換器で、
USBに接続し、試運転をしていますが、USBハブの位置変更などで、
デバイスドライバーを再登録しているうちに、COM番号が、
16を超えて来て、エラーが出るようになりました。
VB6では調べると、1〜16までしか受け付けないようですね。
使用しない登録を削除して、1〜16のCOM番号に回復したいのですが、
レジストリとか手を加えて、削除できるのでしょうか?
え! 普通に
コントロール パネル
-> 管理ツール
-> コンピューターの管理
-> デバイスマネージャー
-> ポート(COMとLPT)を選択
-> 通信ポート一覧の中から不要なポート選択
-> 右クリックのプルダウンメニューで削除選択
ではだめですか?
返信ありがとう御座います。
通信ポート一覧には、現在接続されているポートしか表示されません。
過去に登録したcomのデバイスは履歴で隠れているようです。
履歴が、com1〜16まで登録されているとした場合、
新しいデバイスドライバーを登録した場合、16以降の番号が
割り当てられるようです。
デバイスマネージャの
表示
−>非表示のデバイスも表示
ででねぇ?
レジストリのComDBを調べてみて下さい。
使用されているCOMに対応するbitがONしています。
ここで消したいCOMのbitをOFFする事により
ご希望している事を実施する事ができます。
[お決まりの注意]
レジストリの変更は自己責任で行ってください。
しゅうさんレス有難う御座います。
レジストリエディタを立ち上げて、
検索でcomDBをみてみました。
バイナリでfc ff ff 03 でした。
デバイスマネージャーの詳細をみると、
com3〜26まで使用中(接続中ではない)になっていますので、
ビット順でいえば、
cf ff ff 30と並べて
0011 1111 1111 1111 1111 1111 1100 0000
---->この順にビットを読んで行く。
と読めば良いのですね。
アドバイス有難う御座いました。
こう言ういう風に、レジストリは使われているんですね。
嘘情報 さん、レス有難う御座います。
非表示のデバイスも表示される場所がありますが、
編集はできないようです。
えと、結局、しゅうさんが書いてくれたレジストリの編集で解決できたのかな?
あと、嘘情報さんの書いた方法では、ドラ射場情報の削除が出来なかったのかな?
表示されたなら、削除が出来そうなもんだけど・・・
ふーさんへ
ビット順の考え方が間違っていないかどうか、
しゅうさんの返答を待ってみます。
しばらく返答が無い場合は解決にしたいと思います。
>表示されたなら、削除が出来そうなもんだけど・・・
表示は、コンボボックスで選択する所で見れるだけなので、
削除はできません。
>コンボボックスで選択する所で見れるだけなので
え?
我龍院さんが書いたように、通信ポート一覧にポート全部別々で出てない?
そのポートのドライバ自体を右クリックで消せばいいと思ったんだけど?
こいつは、コンボボックスじゃなく、ツリー表示じゃない?
>通信ポート一覧にポート全部別々で出てない?
そのツリーは、
接続されているポートしか出てないですね。
こんな情報いかがですか?
http://www.scs.co.jp/digi/tech/digi_faq_after_acceleport_nt_install.html
http://www.hdl.co.jp/USB/comno/index.html
>ビット順でいえば、
>
>cf ff ff 30と並べて
>
>0011 1111 1111 1111 1111 1111 1100 0000
見慣れない表記ですが左が最下位ビットだと思います。
そうであればビット順の考え方は合っています。
今回の場合には次の手順で行えば希望する状態になると思います。
デバイスドライバの削除が必要であったり、
PCの再起動が必要であったりするかもしれませんが
ご自身で判断して作業を行って下さい。
1.USB−RS232C変換器をPCから外す。
2.ComDBを初期状態にする。
モデム等でCOM3のみ実装されている場合には
ComDBを 04 00 00 00 とする。
3.USB−RS232C変換器を希望する順序でPCに接続していく。
いしや〜きいもさんへ
参考リンク、良いですね。
参考にさせて頂きます。
しゅうさんへ
いろいろ、アドバイス有難う御座いました。
実際に試してみます。
ツイート | ![]() |