0

http://www.codeproject.com/KB/cs/tsnewlib.aspxライブラリを使用して、ログオン時または起動時にトリガーされるタスクを一覧表示しています

ScheduledTasks st = new ScheduledTasks();

            foreach (string taskName in st.GetTaskNames())
            {
                using (Task task = st.OpenTask(taskName))
                {

                        listBox1.Items.Add(taskName);

                }
            }

起動タスクまたはログオン タスクのみを一覧表示するには、どの条件を使用する必要がありますか

4

1 に答える 1

1

Triggersfor eachを列挙taskし、タスクで何かを行うか、後で保存するか、フィルター処理されたTaskオブジェクト名のリストに名前を保存する必要があります。選択プロセスは、Triggerが aOnLogonTriggerまたは a のいずれかであるかを確認することでありOnSystemStartTrigger、そのタスクを最終的なリストに選択できます。

例えば

List<string> startupAndLogonTasks = new List<string>();
foreach (string taskName in st.GetTaskNames()) {
    using (Task task = st.OpenTask(taskName)) {
        if (task != null) {
            foreach (Trigger tr in task.Triggers) {
                if (tr is OnSystemStartTrigger || tr is OnLogonTrigger) {
                    //  Do something, such as log the name, or store the task for later
                    startupAndLogonTasks.Add(task.Name);
                    //  break out and move to the next task
                    break;
                }
            }
        }
    }
}

もちろん、ログオンまたはスタートアップの種類のみを持つタスクが必要な場合は、Triggersコレクションにトリガーが 1 つしかないことも確認してください。

于 2013-05-12T17:08:53.013 に答える