• ベストアンサー

シリアル通信について

現在、VB6.0を使用してシリアル通信のプログラムを作成しております。 その中で、通信先に対してバッチファイルを実行させてたいのですが、 通信先に対してバッチファイルを実行させる方法がわかりません。 どのようにするのか教えて頂けないでしょうか。 また、実行するバッチファイルでは引数を渡す必要があるようなのですが その方法も教えて下さい。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

あまり詳しくないですが、以下のような考え方で質問は解決するでしょうか。 1)前提(仮定)の条件  ・シリアル通信をVB6.0のアプリケーション同士で行うものとする  ・バッチファイルの実行依頼は送信側が指示(依頼)するものとする  ・受信側には予めバッチファイルが用意されているものとする 2)決めること  ・送信側と受信側で、バッチファイル実行のインタフェースを決める   例えば、電文のn桁目からm桁目にバッチファイル名が入り、その後に引数が入る。   受信側はバッチファイル名が空白以外ならそのバッチファイルを引数を付けて実行する。 3)アプリケーション  ・送信側では、バッチファイル実行を要求する場合には、そのバッチファイル名と引数を電文にセットし送信する  ・受信側では、電文中のバッチファイル名をチェックし空白以外なら当該バッチファイルを引数を付けて実行す

Simanohito
質問者

お礼

ご連絡が大変遅くなりまして申し訳ございません。 本件、上記内容で解決致しました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VB.Net シリアル通信

    VB.Net 2010/W.7でシリアル通信のプログラムを作成しました。 デバック状態では正常に動作しました。又、Debugフォルダー内に出来た.exeファイルでも正常に動作しました。 この.exeをVB.Netの外にコピーして実行させようとした所、"アプリケーションのコンポーネントで、ハンドルされていない例外が発生しました。「続行」をクリックすると、アプリケーションはこのエラーを無視し、続行しようとします。「終了」をクリックすると、アプリケーションは直ちに終了します。 ポート'Com1'は存在しません。 とのメッセージが出てしまいました。 RS-232cの部分を外して実行させると正常に動作する様です。 これは無料版を使用している為の制限なのでしょうか、それとも何かをインクルードする必要があるのでしょうか。 同様に System.IO.Directory.CreateDirectory(sCurDir & "Log") でディレクトリーを作成出来ない様です。Debugフォルダーの中ではディレクトリーは作成されて居ました。 手動でディレクトリーを作成すると、その中にファイルは書けるみたいです。 お分かりに成る方が居られましたらお教え下さい。 宜しくお願い致します。

  • シリアル通信について

    VB6にてシリアル通信プログラムを作成しましたが、データが受信できません。 ハイパーターミナルなら受信できて、一度ハイパーターミナルを使用すると、作成したプログラムでもデータが受信できるようになります。(再起動するとまたハイパーターミナルを使用するまで受信できません) 自作プログラムでなにか処理がたりないのでしょうか?

  • VB6でのシリアル通信について質問です。

    VB6でのシリアル通信について質問です。 現在、VB6で開発したラベル印刷のシステムを引き受けたのですが、以下のような状況に陥り困っております。 ・プリンタからPCへの接続はシリアル通信のみ。 ・現在使用しようとしているPCにはシリアル通信のポートがなく、USB接続のみしかできない。 ・RS232CからUSBへの変換コネクタを使ってPCとプリンタを接続しようとしているが、印刷実行時に実行時エラー 8015が発生する。 ・VBからプリンタへの通信はMSCommを使用している。 ・プログラム自体は客先にソースのみが残っていたもので、仕様書等はまったくない。 ネットで調べたところ、MicrosoftのサイトではUSBポートからMSCommを使って通信をする事はできないというような事が記載されておりました。 ただ、他のサイトを色々と調べたところ、普通に通信できるとの意見も記載されておりました。 実際のところ、VB6でRS232C-USB変換コネクタを使用してプリンタへのシリアル通信は可能なのでしょうか。 可能な場合、今回発生したエラーの原因になりそうなものとはなんなのでしょうか。 また、通信が不可能な場合、代替策としてどのような方法を取るのが一番ベストなのでしょうか。 どなたか何卒ご教授よろしくお願い致します。

  • バッチファイルを起動したけど、win98では引数が長すぎて。。。

    VBからバッチファイルを起動する処理を作成中です。 SHELL コマンドで実行しているのですが、 そのバッチファイルの引数がすごく長いのです。 >batch.bat "引数1" "引数2" "引数3" とする際、引数1 ~ 引数3までの合計文字列が 128?byte を超えてしまい、 win98では、使えないプログラムがあります。 複数の引数をまとめたファイルを、バッチファイルの 引数として起動させる等、 回避作はあるのでしょうか? 教えてください。

  • キーエンス製シーケンサとのシリアル通信

    いつも御世話になっております。 早速ですが、現在VB2010Exでキーエンス製シーケンサとシリアル通信のプログラムを作成しています。 接続方法は上位リンクモードで設定しています。 パソコン(VB2010)からの送受信は出来ています。 ただ現在困っているのが、シーケンサの接点の監視です。 ためしに、 PortOpen ↓ コマンド送信(SerialPort1.Write()にて) ↓ レスポンス受信(SerialPort1.DataReceivedにて) ↓ PortClose この工程をループさせてみました。 問題なく、接点の監視は出来たのですが、通信を常時行うプログラムが本当に良いのか疑問に思い質問させていただきました。 シーケンサの接点の監視を常時行うにはどのようなプログラムが一般的なのでしょうか? よろしく御願い致します。

  • VBでのシリアル通信

    VB6 Professional Virsionを使用しています。 RS232Cでシリアル通信をしたいのですが、どうすればいいのでしょうか。ヒントを教えてください。

  • シリアル通信の通信・検証方法とは?

    Visual C++ 6.0(MFC)でプログラミングを行っています. VB 6.0でPCから値を入力し,PICへRS232Cケーブルを用いて値を送り,モータコントロールするプログラムは既に存在しており,現在はVBで書かれていた部分(インターフェイス部)をVC++に書き換えようとしています. サンプルプログラムを参考にシリアル通信に関するVC++のプログラムは完成し,PCからモータの制御を行おうと思ったのですが,うまくいきません. こういった際,どこに問題があるのかを検証したいのですがどうすればいいでしょうか? 現状, 1,シリアル通信ができていない 2,シリアル通信はできているが,PICへ値がうまく格納されていない 3,それ以外 問題があるのは分かるのですが,プログラマーのほうに原因がフィードバックされないため困っています. 明確な答えでなくても,アドバイスのようなものがいただけたら幸いです.

  • シリアル通信のイベント受信について

    現在VB6.0を使用してシリアル通信のプログラムを MsCommを使用せず、CreateFileを使用して行っておりますが、 データの受信を受信したタイミングでテキストボックスに表示したいのですが どの様にすると受信したタイミングでデータを取得できるのかわからず困っております。

  • バッチファイル

    お世話になります。 バッチファイルを用いて、実行されるプログラムがあります。 私の作成したものではないので、どのようなやり取りが内部で行われているのかは、詳細はわかりません。 例えば、D:\Programフォルダーの中にプルグラムをインストールしたとすれば、引数を2つ指定して(例:aaaとbbb)、バッチファイル(test.bat)を以下のように実行すれば、プログラムは正常に作動します。 D:\Program>test aaa bbb しかし、以下の場合には、正常に作動しません。 C:\>D:\Program>test aaa bbb つまり、パスを含めて、バッチファイルを実行することは、このプログラムは許可してくれません。 ここで、例えば、VBなどを用いて、テキストボックスなどで引数を二つ指定して、実行ボタンをクリックすれば、必ず、D:\Program>test aaa bbbという状態で、バッチファイルが実行されるようにするには、どのようにすればよろしいでしょうか? もしご存知の方がいらっしゃいましたら、是非、ご教授願います。 以上、宜しくお願いいたします。

  • シリアル(RS232C)通信でファイル送信をするには

    現在、VB6.0を使用してシリアル通信の処理をしておりますが、 任意のファイルを相手側に送信をしたいと思いますがどの様に 処理をしたらいいいのか判らないので教えて下さい。