※ ChatGPTを利用し、要約された質問です(原文:vc++でtelnet)
vc++でtelnet
このQ&Aのポイント
現在、コマンドプロンプトでtelnetを起動し、特定のコマンドを投げる作業があります。
特定のコマンドがあるパラメーターの違いだけであり、簡単に投げられるような画面を作成したいと言われました。
しかし、コマンドを投げた後、アプリ画面に制御が戻らず困っています。
お世話になります。
現在、コマンドプロンプトでtelnetを起動し、ある特定のコマンドを投げている作業があります。特定のコマンドが、一つのパラメーターが違うだけなので、ボタンを押してそのコマンドを投げられるような画面を作って...と言われました。
CreateProcessを使って、cmd→telnet→標準出力...で、
(1)画面アプリ起動(初期処理:CreatePorcess(cmd telnet xxx.xxx.xxx.xxx))
(2)ボタンクリック
(3)cout << abc 1 2 3 <<endl (コマンド投入)
(4)ボタンクリック
(5)cout << abc 1 2 4 <<endl
etc..
(6)終了ボタンclick(telnet終了:quit、cmd終了:exit)
などでいけるかなと思ったのですが、(3)でアプリ画面のほうに制御が戻ってきません。
コンソール画面を表示して確認すると、投入はできてる感じで、入力待ちになってるようです。
そこでenterを押しても画面には戻らず、、enter→quitで戻る?!
通信系は苦手ですが、コマンドプロンプトでやってることをそのままだから とは思ったものの...omz
根本的に間違っているでしょうか?
サンプルコードも探したのですが、見つからず質問させていただきました。
teratermマクロ...など見つけたのですが敷居が高いのとteratermのインストールは×みたいで。webアプリも駄目といわれ。。。
どうかアドバイスをお願いいたします!
お礼
kteds さま、ありがとうございます。 特にcmdを実行しないで、直接telnetを実行するのも試しました。動作は同じで、telnetの中で処理をした後止まってるようで、起動元の画面に戻ってきません。 ...telnetにコマンドを投入したら、(それを処理すると思うので)telnetを終了して制御をもとの起動した画面に戻したいのです。 ボタンを押したら、telnetに接続してコマンド投入して、telnetを終わらせる..、そしてまたボタンを押したら同じように処理して終わる...がやりたい一連の流れです。 ##rlogin /telnet ##とすればサーバーへのログオン画面が表示されます。 このログオン画面での入力も自動で行いたい、さらにログイン成功後の処理用コマンドもプログラムで自動投入したいのです。そして、投入した処理をしたらプログラムでtelnetを終わらせてRLoginも終わらせて..が希望です。 RLoginではそのようなことができるでしょうか。(試していないのにすみません) WEB上にそれをやってる画面がありまして、読み切れていませんがajaxなど使っているようです。WEBで処理してOKなら、マネしてできそうなのですが、オフラインで動かすことを要求されています。 引き続きよろしくお願いいたします。
補足
時間がなかったので やりたいことをbatファイルにして system関数で動かすことができました。 とりあえず、これで進めてあとで なぜできなかったか調べたいと思います。 ありがとうございました。