
現在、C#でWinSCPに自動でログイン後、ファイルをアップロードしログアウトを定期的に行うプログラムを作成中なのですが、
ProcessでWinSCP.comを起動後、コマンドプロンプトのような画面にコマンドを打ち込むことが打ち込むことができず困っています。手動だとWinSCPを起動して、”open ホスト名”入力⇒サーバ接続⇒”ユーザー名”入力⇒”パスワード”入力⇒ログイン・・・・⇒ログアウトということができるのですが、参考にできるコードがネット上で見つけられません。起動時に引数を与える方法はたくさん載っているのですが、今回やりたい事と違っているのでどのようにコードを記述すればよいのかご教示ください。よろしくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
バッチファイルやスクリプトファイルを使用する方法も最初考えたのですが、スクリプトファイルを作成した経験がない事とあまり良く知らないので命令文を順次投げていくというイメージしかなかったので、
この方法を却下していました。
コマンド入力のタイミングおよびサーバ接続・ログイン失敗等のエラー発生時の対処はスクリプトファイルで対応できるのでしょうか?
No.1
- 回答日時:
Windowsにおける画面(ウィンドウ)操作のアーキテクチャを
ご存知ですか?
テキストボックスも、ボタンも実はウィンドウです。
つまり、操作するにはウィンドウハンドルを取得しなければ
なりません。そもそもWinSCPの親ウィンドウを見つけられ
ますか?(FindWindowExまたはEnumWindows)
次にその子ウィンドウを列挙して、テキストボックスやボタンを
見つけるのですが、その方法を知っていますか?
テキストボックスに文字列をセットする方法、ボタンにマウス
クリックを通知する方法を知っていますか?
これらが、全て分からないとプログラムできません。
しかも、正常動作せず、予期した画面に遷移しなかった時は
どうやって異常を認識する予定ですか?
むしろ、FTP、SFTP、SCPのプロトコルを自力で処理する
プログラムを作る方が近道だと思いますよ。
先ずはソケット通信の方法を勉強します。これはこれで、
「通信」のアーキテクチャを覚えることになるので、自分の
キャリアアップに繋がります。次にプロトコルを勉強することで
やはりスキルアップに繋がります。
FTP等のプロトコルは大抵はクライアントからの要求送信、
サーバからの応答受信が繰り返されるだけです。
要求のコマンド+パラメータと応答コードの意味さえ分かれば
さして難しいものではありません。但し、大量データの送受信
ではクライアント側にもサーバ側機能のような処理が必要で、
これはやや難しいところもあります。
いずれのプロトコルでもググれば何かしらのサンプルが見つ
かるので、応用できるはずです。
ウィンドハンドルを取得して操作する方法は知っています。でもこの方法だとプログラムが動作している間、他の操作をすることができないのでこの方法でやろうとは考えていませんでした。
>むしろ、FTP、SFTP、SCPのプロトコルを自力で処理するプログラムを作る方が近道だと思いますよ。
こちらの方法でやりたかったのですが、時間がなく勉強する暇すらありません。
今回は既存のものを使って短時間でできないかと思い、質問いたしました。
他の掲示板でも似た内容の質問をされている方がおり、最終的に自分で解決しましたと書かれていたので
方法があるのだと思っていました。質問に答えていただきありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「アイテムは収集されました」...
-
エクセルで作った新しいウイン...
-
勝手にウィンドウが開いて止ま...
-
【VB2008】 マウス操作の一時的...
-
eclipseからコンソールが消えた
-
C言語でWin32APIを使い、子ウィ...
-
VBA ウィンドウの列挙 Win32 API
-
ボタンのハンドルウィンド取得...
-
皆さん、おはようございます♪ ...
-
アウトルックの既読、未読の設...
-
EnumChildWindowsの使い方(VBA)
-
グローバルフック?にならない(...
-
Vba LongPtrについて教えてくだ...
-
Console.WriteLine で表示されない
-
ExcelのVBAで、Windowの整列
-
他アプリケーション’(ウィンド...
-
ダイアログでのDragDropでマウ...
-
非アクティブのウィンドウを最...
-
EXCELの最前面設定解除について
-
他アプリのアクティブな子ウイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで作った新しいウイン...
-
「アイテムは収集されました」...
-
ラジオボタンの初期指定
-
勝手にウィンドウが開いて止ま...
-
皆さん、おはようございます♪ ...
-
検索の画面がでなくなってしま...
-
Vba LongPtrについて教えてくだ...
-
【VB2008】 マウス操作の一時的...
-
[VBA] UserForm を Excel の W...
-
VBA .Value=.Value ?
-
Excelの上下を固定したい
-
UWSCで特定のChromeのタブをア...
-
ExcelのBOOKが消えた!
-
「&HFFFF」「&H1A」とは?
-
ゲームでは結局どっちが良いの?
-
作成したウインドウのサイズを...
-
エクセルで1行目から3行目が消...
-
Console.WriteLine で表示されない
-
Alt+P,Alt+NをPostmessageで送...
-
EnumChildWindowsの使い方(VBA)
おすすめ情報