//------------------------------------------------------------------ // // A P/Invoke wrapper for TaskDialog. Usability was given preference to perf and size. // // // //------------------------------------------------------------------ namespace ProcessHacker.Components { using System; using System.Drawing; using System.Windows.Forms; using System.Runtime.InteropServices; /// /// Arguments passed to the TaskDialog callback. /// public class TaskDialogNotificationArgs { /// /// What the TaskDialog callback is a notification of. /// private TaskDialogNotification notification; /// /// The button ID if the notification is about a button. This a DialogResult /// value or the ButtonID member of a TaskDialogButton set in the /// TaskDialog.Buttons or TaskDialog.RadioButtons members. /// private int buttonId; /// /// The HREF string of the hyperlink the notification is about. /// private string hyperlink; /// /// The number of milliseconds since the dialog was opened or the last time the /// callback for a timer notification reset the value by returning true. /// private uint timerTickCount; /// /// The state of the verification flag when the notification is about the verification flag. /// private bool verificationFlagChecked; /// /// The state of the dialog expando when the notification is about the expando. /// private bool expanded; /// /// What the TaskDialog callback is a notification of. /// public TaskDialogNotification Notification { get { return this.notification; } set { this.notification = value; } } /// /// The button ID if the notification is about a button. This a DialogResult /// value or the ButtonID member of a TaskDialogButton set in the /// TaskDialog.Buttons member. /// public int ButtonId { get { return this.buttonId; } set { this.buttonId = value; } } /// /// The HREF string of the hyperlink the notification is about. /// public string Hyperlink { get { return this.hyperlink; } set { this.hyperlink = value; } } /// /// The number of milliseconds since the dialog was opened or the last time the /// callback for a timer notification reset the value by returning true. /// public uint TimerTickCount { get { return this.timerTickCount; } set { this.timerTickCount = value; } } /// /// The state of the verification flag when the notification is about the verification flag. /// public bool VerificationFlagChecked { get { return this.verificationFlagChecked; } set { this.verificationFlagChecked = value; } } /// /// The state of the dialog expando when the notification is about the expando. /// public bool Expanded { get { return this.expanded; } set { this.expanded = value; } } } }