コンポーネントの利用方法
COMポート名の一覧取得コンポーネントは、ActiveXコントロールが利用できる開発環境であれば、利用できるはずですが、せっかくなので.net VC++で利用する場合の方法を例に挙げて示します。
※以下の例は、Visual Studio 2008 Express Edition VC++の例です。
※以下の例は、Visual Studio 2008 Express Edition VC++の例です。
■COMのインタフェース
★イベント:OnChange(void)
通信ポートの一覧に変化が発生した場合に通知されるイベントです。
起動直後は、イベント発生しません。
★プロパティ:EventEnable起動直後は、イベント発生しません。
true:OnChangeイベントが発生します。
false:OnChangeイベントが発生しなくなります。
★メソッド:GetComNamesfalse:OnChangeイベントが発生しなくなります。
COMポートの名称となる文字列が配列で取得できます。
通常は、OnChangeイベントが発生したら、本メソッドで一覧を取得し、リストボックスや、コンボボックスに、この文字を追加します。
■プログラミングの前準備通常は、OnChangeイベントが発生したら、本メソッドで一覧を取得し、リストボックスや、コンボボックスに、この文字を追加します。
1.プロジェクトを新規作成し、Windows Formアプリケーションの雛形を作成します。
2.ツールボックスを表示し、右クリックでメニューを表示し、『アイテムの選択』を選びます。
4.ツールボックス内に、PortName Classが追加されたので、それをドラッグ&ドロップで、Form1にドロップします。ついでに、ListBoxも追加し、一覧をリスト表示できるようにします。
private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e)
{
{
// イベント通知の有効化
axPortName1->EventEnable = true;
// COMポート一覧の更新
RedrawList();
}axPortName1->EventEnable = true;
// COMポート一覧の更新
RedrawList();
private: System::Void axPortName1_OnChange(System::Object^ sender, System::EventArgs^ e)
{
{
// COMポート一覧の更新
RedrawList();
}RedrawList();
private: System::Void RedrawList( void )
{
{
// ポート名一覧の取得
System::Array^ aryString = (System::Array^)axPortName1->GetComNames();
// リストのクリア
listBox1->Items->Clear();
// ポート名一覧をリストBOXに表示
for(int i = 0 ; i < aryString->GetLength(0) ; i++){
}System::Array^ aryString = (System::Array^)axPortName1->GetComNames();
// リストのクリア
listBox1->Items->Clear();
// ポート名一覧をリストBOXに表示
for(int i = 0 ; i < aryString->GetLength(0) ; i++){
listBox1->Items->Add*1;
}*1:System::String^)aryString->GetValue(i