文学城论坛
+A-

用C#写了个家长控制辅助小程序

在城里 2013-08-23 19:08:53 ( reads)

暑假里,在电脑上给小儿子设置了家长控制。是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)                         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

跟帖(11)

S7Exam

2013-08-24 10:12:03

wow, code!

在城里

2013-08-25 07:40:24

完全同意你的看法呵呵! 给孩子设置的是登录不需要密码,除了关机还有好的选择吗?

HUDIEMI

2013-09-03 17:38:48

把丫WIFI关了不就行了,这么麻烦干嘛!买个双通道modem,专门给丫开个wifi

mfl

2013-08-25 05:55:43

可是重新启动就又可以玩了,你如何解决?

在城里

2013-08-25 07:41:27

如果重新启动了,在限定的时间段内(30秒后)还会关机的。

这个人

2013-09-02 03:04:46

请教如何执行在win7?

这个人

2013-09-02 03:07:16

如何执行?

在城里

2013-09-03 19:37:33

对,要编译成exe文件。拷贝到一个目录下,让它带命令行随机启动(添加到注册表)

在城里

2013-09-03 19:08:01

【已更新】支持命令行参数(需.Net 3.5运行环境)

在城里

2013-09-03 19:17:46

命令行中指定用户名,关机/注销,延时时间和使用电脑的一个或多个时间段

HUDIEMI

2013-10-22 22:05:39

毫无用处,去进成那里杀掉就悲剧了。应写成服务程序