在城里2013-08-24 03:08:53

暑假里,在电脑上给小儿子设置了家长控制。是win8系统,但据说这个家长控制效果不是很好,过了时间还可以看。于是我就用C#写了一小段程序(需要.Net3.5运行环境呵呵):

using System;
using System.Threading;
using System.Security.Principal;
using System.Diagnostics;

namespace win8
{
    class Program
    {
        static void Main(string[] args)
        {
            string userName = WindowsIdentity.GetCurrent().Name; //取得当前用户名

            if (userName.ToUpper().Contains("ERIC")) //判断登录用户名
            {
                bool isUp = false; //是否超时了?
                while (!isUp)
                {
                    //取得当前时间
                    string now = DateTime.Now.ToString("HHmm");

                    //14:00 到18:00不可以看电脑
                    if (int.Parse(now) > 1401 && int.Parse(now) < 1800)
                        isUp = true;
                    else
                        Thread.Sleep(60 * 1000); //每60秒判断一次
                }
                //如果看电脑超时了,延迟30秒后关机
                System.Diagnostics.Process.Start(@"C:/WINDOWS/system32/Shutdown", "-s -f -t 30");
            }
        }
    }
}

让以上程序随机启动。这样等到了限定的时间段,屏幕上就会弹出一个通知:机器将在30秒后关机。

在城里 2013.08.23

S7Exam2013-08-24 18:12:03
wow, code!
mfl2013-08-25 13:55:43
可是重新启动就又可以玩了,你如何解决?
在城里2013-08-25 15:40:24
完全同意你的看法呵呵! 给孩子设置的是登录不需要密码,除了关机还有好的选择吗?
在城里2013-08-25 15:41:27
如果重新启动了,在限定的时间段内(30秒后)还会关机的。
这个人2013-09-02 11:04:46
请教如何执行在win7?
这个人2013-09-02 11:07:16
如何执行?
HUDIEMI2013-09-04 01:38:48
把丫WIFI关了不就行了,这么麻烦干嘛!买个双通道modem,专门给丫开个wifi
在城里2013-09-04 03:08:01
【已更新】支持命令行参数(需.Net 3.5运行环境)
在城里2013-09-04 03:17:46
命令行中指定用户名,关机/注销,延时时间和使用电脑的一个或多个时间段
在城里2013-09-04 03:37:33
对,要编译成exe文件。拷贝到一个目录下,让它带命令行随机启动(添加到注册表)
HUDIEMI2013-10-23 06:05:39
毫无用处,去进成那里杀掉就悲剧了。应写成服务程序