Пример #1
0
    void _Schedule()
    {
        var s = _FormatCL(3); if (s == null)
        {
            return;
        }
        var    user   = Environment.UserName;
        string folder = @"Au\" + user /*App.Model.WorkspaceName*/,
               name   = App.Model.CurrentFile.DisplayName;

        try {
            if (!WinTaskScheduler.TaskExists(folder, name))
            {
                WinTaskScheduler.CreateTaskWithoutTriggers(folder, name,
                                                           uacInfo.isAdmin ? UacIL.High : UacIL.Medium,
                                                           process.thisExePath, s, author: user);
            }
            WinTaskScheduler.EditTask(folder, name);
        }
        catch (UnauthorizedAccessException) when(!uacInfo.isAdmin)
        {
            dialog.showError("Failed", "Restart this program as administrator.", owner: this);
        }
        catch (Exception e1) { dialog.showError("Failed", e1.ToStringWithoutStack(), owner: this); }

        //never mind: non-admin process can't create folders and tasks.
        //	But somehow can do it in the QM2 tasks folder.
        //	Now I don't know how to set folder security permissions.
    }