[DllImport("shell32.dll")]
static extern int SHQueryUserNotificationState(
out QUERY_USER_NOTIFICATION_STATE pquns);
Declare Function SHQueryUserNotificationState Lib "shell32.dll" (TODO) As int
enum QUERY_USER_NOTIFICATION_STATE
{
QUNS_NOT_PRESENT = 1,
QUNS_BUSY = 2,
QUNS_RUNNING_D3D_FULL_SCREEN = 3,
QUNS_PRESENTATION_MODE = 4,
QUNS_ACCEPTS_NOTIFICATIONS = 5,
QUNS_QUIET_TIME = 6
};
Do you know one? Please contribute it!
None.
Please add some!
void Main()
{
Console.WriteLine("user notification state: {0}", QueryUserNotificationState.State());
}
// Define other methods and classes here
class QueryUserNotificationState
{
public enum UserNotificationState
{
/// <summary>
/// A screen saver is displayed, the machine is locked,
/// or a nonactive Fast User Switching session is in progress.
/// </summary>
NotPresent = 1,
/// <summary>
/// A full-screen application is running or Presentation Settings are applied.
/// Presentation Settings allow a user to put their machine into a state fit
/// for an uninterrupted presentation, such as a set of PowerPoint slides, with a single click.
/// </summary>
Busy = 2,
/// <summary>
/// A full-screen (exclusive mode) Direct3D application is running.
/// </summary>
RunningDirect3dFullScreen = 3,
/// <summary>
/// The user has activated Windows presentation settings to block notifications and pop-up messages.
/// </summary>
PresentationMode = 4,
/// <summary>
/// None of the other states are found, notifications can be freely sent.
/// </summary>
AcceptsNotifications = 5,
/// <summary>
/// Introduced in Windows 7. The current user is in "quiet time", which is the first hour after
/// a new user logs into his or her account for the first time. During this time, most notifications
/// should not be sent or shown. This lets a user become accustomed to a new computer system
/// without those distractions.
/// Quiet time also occurs for each user after an operating system upgrade or clean installation.
/// </summary>
QuietTime = 6
};
[DllImport("shell32.dll")]
static extern int SHQueryUserNotificationState(out UserNotificationState userNotificationState);
public static UserNotificationState State()
{
UserNotificationState state;
var returnVal = SHQueryUserNotificationState(out state);
return state;
}
}