桜、抹茶、白、日記

名古屋市在住のC++使いのcoderの日記だったもの。

Restart Manager API

日本語だと「再起動マネージャー」。Windows Vista以降で提供される機能。

Restart Manager
http://msdn.microsoft.com/ja-jp/library/windows/desktop/cc948910.aspx
Restart Manager (Windows)
http://msdn.microsoft.com/ja-jp/library/cc948910.aspx

このAPIは、インストーラーで、プログラムを終了→最新版に更新→プログラムを再度起動、する為のAPIなんでしょうね。
今作っているプログラムが異常終了した時に勝手にプログラムが再起動されてしまって、デバッガが起動されないので何でかなと思って色々調べていた。

CWinApp::m_dwRestartManagerSupportFlags
http://msdn.microsoft.com/ja-jp/library/vstudio/dd412060.aspx

MFCで作っているのでフレームワークにて上記の値が設定されていた。それを無効化してデバッガ起動できるようになりました。何故かVisualStudio上から実行すると現象がでないので。
あれ、Windows XP上でVisualStudio2010が異常終了した時にも再起動していたような希ガス。どうだったっけな。