バックアップの前にユーザー定義の実行中のプログラムを閉じて、バックアップ前に開いているデータファイルを閉じてフラッシュできるバックアップアプリケーションがあります。バックアップが完了すると、リスト内のプログラムが再起動されます。TerminateProcessよりも親切な方法はありますか?
キャプションとPostMessage(AppHandle、WM_CLOSE、0,0)を使用してウィンドウハンドルを取得するのに問題はありません。ほとんどのアプリケーションでうまく動作しますが、通知領域(システムトレイ)で動作するアプリケーションではうまく動作しません。
現在、私はTerminateProcessを使用しています(通知領域アプリケーションでも機能しますが、そしてちょうどそれらのアプリをダウン叩きつけ。
私は長いとハード検索しましたと私は通知領域のアプリケーションをシャットダウンするよりよい方法を見つけることができません。誰でも助けてくださいことはできますか?
おかげ
'TerminateProcess'はファイルを開いたままにしません。すべての開いているハンドルは、所有プロセスが終了すると閉じられます。また、開いているファイルをバックアップしたい場合は、OSはすでにそのためのAPIを提供しています:シャドウコピー。 –
@Rob:開いているファイルをバックアップしようとすると、ファイルが矛盾した状態でスナップショットを撮る可能性があります。 – Gabe
@Gabe、予期せずプログラムをシャットダウンするより悪くない... – bdonlan