• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ftpソフトの機能の実装)

ftpソフトの機能の実装について疑問

このQ&Aのポイント
  • ftpソフトの機能の実装について疑問に思いました。
  • WinSCPの特定の機能について、エディタの指定やファイルの変更、保存の検知について興味があります。
  • 正しく外部エディタのファイルの保存を検知してアップロードしているのか、その仕組みについて教えていただけませんか?

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

  • ベストアンサー
  • rinkun
  • ベストアンサー率44% (706/1571)
回答No.3

動作からすると、リモートのファイルを編集する前にローカルのテンポラリフォルダにファイルをダウンロードして、そのファイルをエディタに渡していると思います。 そのフォルダないしファイルを監視して更新されたらアップロードするのでしょう。 エディタの終了を監視して、テンポラリフォルダを削除する処理もやっているかもしれません。 エディタで名前を付けて保存をしたらどうなるかなど試してみるとおもしろいかと思います。

smcss
質問者

お礼

お返事有り難うございます。 ソースを調べるとFindFirstChangeNotification が使用されていて、エディタで編集されるファイルもテンポラリフォルダなのも確認しました。 ほぼお返事にあるようなやり方で実現しているようです。 参考になりました。

その他の回答 (2)

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.2

ファイルの変更を検知しなくても 起動した外部エディタが終了するのを監視しておく方法もあるかと思います。

smcss
質問者

お礼

お返事有り難うございます。 エディタではなくファイル・ディレクトリの変更を監視してこの機能が実現されているようでした。

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.1

FindFirstChangeNotificationを使っているとかではないでしょうか?

smcss
質問者

お礼

お返事有り難うございます。 FindFirstChangeNotification を調べてみました。 ソースコードを grep するとそれらしき箇所(クラス)が見つかったのでこの API が使われているのは間違いないようです。 エディタではなくファイル・ディレクトリの変更を監視してこの機能が実現されているということですね。

関連するQ&A