using System;
using System.IO;
using System.Runtime.InteropServices;
using UnityEngine;
public class shutdown : MonoBehaviour {
public string ShutDownDate = "19:00";
bool Switch;
void Awake()
{
OpenData();
}
void Update ()
{
if (Input.GetKeyDown(KeyCode.Space))
{
WindowsShutDown();
}
if (DateTime.Now.ToString("HH/mm").Contains(ShutDownDate))
{
if (!Switch)
{
Switch = true;
WindowsShutDown();
}
}
}
void OpenData()
{
string path = Application.streamingAssetsPath + "/data.txt";
if (File.Exists(path))
{
try
{
StreamReader streamReader = File.OpenText(path);
ShutDownDate = streamReader.ReadToEnd();
streamReader.Dispose();
}
catch (Exception e)
{
Debug.LogWarning(e.Message);
}
}
}
void WindowsShutDown()
{
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.Arguments = "/c " + "shutdown -s -t 10";
p.Start();
WindowsMessage.AutoShutDown();
Application.Quit();
}
}
/// <summary>
/// 调用外部库
/// </summary>
public class WindowsMessage
{
[DllImport("User32.dll", SetLastError = true, ThrowOnUnmappableChar = true, CharSet = CharSet.Auto)]
public static extern int MessageBox(IntPtr handle, String message, String title, int type);//具体方法
public static void AutoShutDown()
{
WindowsMessage.MessageBox(IntPtr.Zero, "倒计时10秒之后关机", "关机,下班!", 0);
}
}