.NET(VC++)
COMポート名の一覧取得コンポーネントは、ActiveXコントロールが利用できる開発環境であれば、利用できるはずですが、せっかくなので.net VC++で利用する場合の方法を例に挙げて示します。 ※以下の例は、Visual Studio 2008 Express Edition VC++の例です。 …
こんなActiveXです。 動画にするまでもありませんが・・・ ■インストール方法 公開されているCOMコンポーネント(ComName.dll)は、OSに登録して利用する必要があります。COMコンポーネントをOSに登録するためには、regsvr32を利用して登録します。コマンドラ…
ありそうで、無かったので、利用可能なシリアルポート(COMポート)名の一覧を動的に取得し、ポート番号の一覧を返却するようなコンポーネント(ActiveXコントロール)を作成してみました。赤丸のコンポーネント。 ※もちろん、普通は非表示で利用していただ…
Win32およびMFCを利用したCOMポートの一覧取得の例が以下。 個人的には、今はこちらの方がまだ理解し易い。 ///////////////////////////////////////////////////////////////////////// // COMポート番号一覧取得 // Win32版(一部MFC利用) /////////////…
.netのVC++で現在利用可能なCOMポートの一覧をレジストリから取り出してくるコードが以下です。 以下のソース中のstrComPortArrayの文字列配列に入ります。 /////////////////////////////////////////////////////////////////////////////////////// // CO…
シリアルポートを利用するアプリケーションを開発すると、COMポートの番号をユーザに選択させる場合があります。Windowsでは、COM1~COM255まで指定することが可能だったと思います。 そんなときに、利用可能なCOMポートの一覧を取得できれば・・・と考える…
組込み機器を制御するWindowsアプリを開発する場合、UIのメッセージループがブロックしないように、機器との通信部分をスレッド化して、UIと分離するようなことをしていました。(VC6で) どうやら、.NETには、「BackgroundWorker」と呼ばれるコンポーネント…
■プログラム { int a = 10; str = String::Format(L"DATA = 0x%02x,", a); } というような書き方をすると、エラーは発生しませんが期待する文字列が出力されません。 期待する出力は、"DATA = 0x0a,"なのですが・・・ □解決策 { int a = 10; str = String::F…
■プログラム { String str[2]; } というような書き方をすると、コンパイルエラーが発生します。 error C2728: 'System::String' : ネイティブ配列はこのマネージ型を含むことはできません □解決策 { array<String>strAry = gcnew array<String^>(2); } CLIのarrayを利用して記</string^></string>…
さて、VC++6.0から、VC++2008へいきなりワープした訳ですが、ワープして感じたことや、覚書を蓄えて行こうと思います。私と同じ境遇の方のお役に立てば幸いです。そんなにネタが溜まるか、分かりませんけど。