예제 #1
0
파일: Tools.cs 프로젝트: AyrA/Logoff
 private static void LogExitCall(ExitFlags uFlags, ReasonCodes dwReason)
 {
     Console.Error.WriteLine(
         "Shutdown call: Flags={0}; Reason={1}",
         Tools.FlagsToString(Tools.FlagsToArray(uFlags)),
         Tools.FlagsToString(Tools.FlagsToArray(dwReason)));
 }
예제 #2
0
 public string ShutDown(ExitFlags flag)
 {
     try
     {
         ExitWindowsEx(flag,0);
         return "doing... " + flag.ToString();
     }
     catch(Exception ex){return ex.Message;}
 }
예제 #3
0
 public string ShutDown(ExitFlags flag)
 {
     try
     {
         ExitWindowsEx(flag, 0);
         return("doing... " + flag.ToString());
     }
     catch (Exception ex) { return(ex.Message); }
 }
예제 #4
0
        /// <summary>
        /// Was formerly toggle_bexit_flag
        /// </summary>
        /// <param name="exit"></param>
        /// <param name="flag"></param>
        public static void ToggleFlagOnSelfAndReverseExit(this ExitData exit, ExitFlags flag)
        {
            exit.Flags = exit.Flags.ToggleBit(flag);

            var reverseExit = exit.GetReverse();

            if (reverseExit != null && reverseExit != exit)
            {
                reverseExit.Flags = reverseExit.Flags.ToggleBit(flag);
            }
        }
예제 #5
0
        /// <summary>
        /// Was formerly remove_bexit_flag
        /// </summary>
        /// <param name="exit"></param>
        /// <param name="flag"></param>
        public static void RemoveFlagFromSelfAndReverseExit(this ExitData exit, ExitFlags flag)
        {
            exit.Flags = exit.Flags.RemoveBit(flag);

            var reverseExit = exit.GetReverse();

            if (reverseExit != null && reverseExit != exit)
            {
                reverseExit.Flags = reverseExit.Flags.RemoveBit(flag);
            }
        }
예제 #6
0
파일: Tools.cs 프로젝트: AyrA/Logoff
        public static bool Logoff(bool DryRun = false)
        {
            const ExitFlags   exit   = ExitFlags.LOGOFF;
            const ReasonCodes reason = ReasonCodes.NO_REASON;

            LogExitCall(exit, reason);
            if (!DryRun)
            {
                return(ExitWindowsEx(exit, reason));
            }
            return(true);
        }
예제 #7
0
 internal static extern bool ExitWindowsEx( ExitFlags flg, int rea );
예제 #8
0
 public static extern bool ExitWindowsEx(ExitFlags flags, int rea);
예제 #9
0
파일: Exit.cs 프로젝트: csecong/Mud.Net
 private void RemoveFlags(ExitFlags flags)
 {
     CurrentFlags &= ~flags;
 }
예제 #10
0
파일: Exit.cs 프로젝트: csecong/Mud.Net
 private void AddFlags(ExitFlags flags)
 {
     CurrentFlags |= flags;
 }
예제 #11
0
 internal static extern bool ExitWindowsEx(ExitFlags flg, int rea);
예제 #12
0
파일: Tools.cs 프로젝트: AyrA/Logoff
 private static extern bool ExitWindowsEx(ExitFlags uFlags, ReasonCodes dwReason);
예제 #13
0
 public static extern bool ExitWindowsEx(ExitFlags flags, int rea);
예제 #14
0
 public static extern bool ExitWindowsEx(ExitFlags uFlags,int dwReason);
예제 #15
0
 public extern static bool ExitWindowsEx(ExitFlags uFlags, int dwReason);