@@ -25,48 +25,38 @@ pub fn edit_task(disable: bool, on_login: bool) -> windows::core::Result<()> {
2525 // 创建 TaskService
2626 let task_service: ITaskService =
2727 CoCreateInstance ( & TaskScheduler , None , CLSCTX_INPROC_SERVER ) ?;
28- task_service
29- . Connect (
30- & VARIANT :: default ( ) ,
31- & VARIANT :: default ( ) ,
32- & VARIANT :: default ( ) ,
33- & VARIANT :: default ( ) ,
34- ) ?;
28+ task_service. Connect (
29+ & VARIANT :: default ( ) ,
30+ & VARIANT :: default ( ) ,
31+ & VARIANT :: default ( ) ,
32+ & VARIANT :: default ( ) ,
33+ ) ?;
3534
3635 // 获取 root 文件夹
37- let root_folder = task_service
38- . GetFolder ( & BSTR :: from ( "\\ " ) ) ?;
36+ let root_folder = task_service. GetFolder ( & BSTR :: from ( "\\ " ) ) ?;
3937
4038 if disable {
41- let _ = root_folder
42- . DeleteTask ( & BSTR :: from ( TASK_NAME ) , 0 ) ?;
39+ let _ = root_folder. DeleteTask ( & BSTR :: from ( TASK_NAME ) , 0 ) ?;
4340 return Ok ( ( ) ) ;
4441 }
4542
4643 // 创建 TaskDefinition
47- let task_def = task_service
48- . NewTask ( 0 ) ?;
44+ let task_def = task_service. NewTask ( 0 ) ?;
4945
5046 // 设置 Principal
51- let principal = task_def
52- . Principal ( ) ?;
47+ let principal = task_def. Principal ( ) ?;
5348 principal. SetLogonType ( logon_type) . ok ( ) ;
5449 principal. SetRunLevel ( TASK_RUNLEVEL_HIGHEST ) . ok ( ) ;
5550 principal. SetUserId ( & BSTR :: from ( "SYSTEM" ) ) . ok ( ) ;
5651
5752 // 设置 Trigger
58- let triggers = task_def
59- . Triggers ( ) ?;
60- let _trigger = triggers
61- . Create ( trigger_type) ?;
53+ let triggers = task_def. Triggers ( ) ?;
54+ let _trigger = triggers. Create ( trigger_type) ?;
6255
6356 // 设置 Action
64- let actions = task_def
65- . Actions ( ) ?;
66- let action = actions
67- . Create ( TASK_ACTION_EXEC ) ?;
68- let exec_action: IExecAction = action
69- . cast ( ) ?;
57+ let actions = task_def. Actions ( ) ?;
58+ let action = actions. Create ( TASK_ACTION_EXEC ) ?;
59+ let exec_action: IExecAction = action. cast ( ) ?;
7060
7161 // 路径和参数
7262 let exe_path = std:: env:: current_exe ( ) . unwrap ( ) ;
@@ -75,22 +65,20 @@ pub fn edit_task(disable: bool, on_login: bool) -> windows::core::Result<()> {
7565 exec_action. SetArguments ( & BSTR :: from ( TASK_ARG ) ) . ok ( ) ;
7666
7767 // 设置 Settings
78- let settings = task_def
79- . Settings ( ) ?;
68+ let settings = task_def. Settings ( ) ?;
8069 settings. SetDisallowStartIfOnBatteries ( VARIANT_FALSE ) . ok ( ) ;
8170 settings. SetStopIfGoingOnBatteries ( VARIANT_FALSE ) . ok ( ) ;
8271
8372 // 注册任务
84- let _ = root_folder
85- . RegisterTaskDefinition (
86- & BSTR :: from ( TASK_NAME ) ,
87- & task_def,
88- TASK_CREATE_OR_UPDATE . 0 ,
89- & VARIANT :: default ( ) ,
90- & VARIANT :: default ( ) ,
91- TASK_LOGON_NONE ,
92- & VARIANT :: default ( ) ,
93- ) ?;
73+ let _ = root_folder. RegisterTaskDefinition (
74+ & BSTR :: from ( TASK_NAME ) ,
75+ & task_def,
76+ TASK_CREATE_OR_UPDATE . 0 ,
77+ & VARIANT :: default ( ) ,
78+ & VARIANT :: default ( ) ,
79+ TASK_LOGON_NONE ,
80+ & VARIANT :: default ( ) ,
81+ ) ?;
9482
9583 Ok ( ( ) )
9684 }
0 commit comments