- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ftpソフトの機能の実装)
ftpソフトの機能の実装について疑問
このQ&Aのポイント
- ftpソフトの機能の実装について疑問に思いました。
- WinSCPの特定の機能について、エディタの指定やファイルの変更、保存の検知について興味があります。
- 正しく外部エディタのファイルの保存を検知してアップロードしているのか、その仕組みについて教えていただけませんか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
動作からすると、リモートのファイルを編集する前にローカルのテンポラリフォルダにファイルをダウンロードして、そのファイルをエディタに渡していると思います。 そのフォルダないしファイルを監視して更新されたらアップロードするのでしょう。 エディタの終了を監視して、テンポラリフォルダを削除する処理もやっているかもしれません。 エディタで名前を付けて保存をしたらどうなるかなど試してみるとおもしろいかと思います。
その他の回答 (2)
- wormhole
- ベストアンサー率28% (1626/5665)
回答No.2
ファイルの変更を検知しなくても 起動した外部エディタが終了するのを監視しておく方法もあるかと思います。
質問者
お礼
お返事有り難うございます。 エディタではなくファイル・ディレクトリの変更を監視してこの機能が実現されているようでした。
- jacta
- ベストアンサー率26% (845/3158)
回答No.1
FindFirstChangeNotificationを使っているとかではないでしょうか?
質問者
お礼
お返事有り難うございます。 FindFirstChangeNotification を調べてみました。 ソースコードを grep するとそれらしき箇所(クラス)が見つかったのでこの API が使われているのは間違いないようです。 エディタではなくファイル・ディレクトリの変更を監視してこの機能が実現されているということですね。
お礼
お返事有り難うございます。 ソースを調べるとFindFirstChangeNotification が使用されていて、エディタで編集されるファイルもテンポラリフォルダなのも確認しました。 ほぼお返事にあるようなやり方で実現しているようです。 参考になりました。