下記から手動で作成できる復元ポイントをプログラムから作成する。
コントロールパネル
└システム
└システムの保護
参照を追加。
C#
System.Management
復元ポイントの作成。
C#
var obj = new System.Management.ManagementClass(@"root\default:SystemRestore");
obj.InvokeMethod("CreateRestorePoint", new object[] {"さんぷる", 0, 100});
第一引数
画面に表示する文字列
第二引数
0:APPLICATION_INSTALL
1:APPLICATION_UNINSTALL
10:DEVICE_DRIVER_INSTALL
12:MODIFY_SETTINGS
13:CANCELLED_OPERATION
第三引数
102:BEGIN_NESTED_SYSTEM_CHANGE
100:BEGIN_SYSTEM_CHANGE
103:END_NESTED_SYSTEM_CHANGE
101:END_SYSTEM_CHANGE
CreateRestorePointの詳細についてはこちらを参照
追記 2018年5月8日
上記のサンプルだとWin10 Fall Updateで動作しないことが判明。
なぜか、Sprint 2018 Updateだと動いた。
C#
var obj = new System.Management.ManagementClass(@"root\default:SystemRestore");
obj.InvokeMethod("CreateRestorePoint", new object[] {"さんぷる", 7, 100});
上記のように引数を「0」から「7」に変更するとWin10 Fall Updateでも動作した。
Win7でも動作確認済み。
けれども、復元ポイントの一覧で説明が「さんぷる」とならずに「自動復元ポイント」となってしまう。
なんでやorz
そもそもリファレンスに「7」なんて引数は載ってないのだけども。
追記 2019年9月5日
@bigston666 さんから情報をいただきました。ありがとうございます!
default:SystemRestoreの引数の「7」「6」はそれぞれ下記の通りらしい。
「7」CheckPoint
「6」System Restore