SkylineSoft

莽莽苍节兮 群山巍峨 日月光照兮 纷纭错落 丝竹共振兮 执节者歌 行云流水兮 用心无多 求大道以弹兵兮凌万物而超脱 觅知音因难得兮唯天地与作合
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

SkylineSoft.Console样例

Posted on 2011-03-31 11:20  Jiangwzh  阅读(228)  评论(0)    收藏  举报
using System;
using System.Collections.Generic;
using System.Text;
using SkylineSoft.Console;
using SkylineSoft.Console.Commands;
using System.Configuration;
using SkylineSoft.Utils;
using System.Net.Sockets;

namespace SkylineSoft.Console.Demo
{
    class Program
    {
        static void Main(string[] args)
        {

            ConsoleManager console= ConsoleManager.Instance;
            console.Title = "测试";

            console.RegisterCommand(new CtrlCCommandDescriptor());
            console.RegisterCommand(new ExitCommandDescriptor());
            console.RegisterCommand(new HelpCommandDescriptor());

            console.CtrlBreakEvent += new ConsoleCtrlEventHandler(Console_CtrlBreakEvent);
            console.CloseEvent += new ConsoleCtrlEventHandler(Console_CloseEvent);
            console.LogoffEvent += new ConsoleCtrlEventHandler(Console_LogoffEvent);
            console.ShutDowngEvent += new ConsoleCtrlEventHandler(Console_ShutDowngEvent);

            console.Run();
        }

        static void Console_ShutDowngEvent(ConsoleManager sender,ConsoleCtrlEventArgs e, ref bool cancel)
        {
            ConsoleWriter.WriteLine();
            ConsoleWriter.WriteLine("System shutdowning");
        }

        static void Console_LogoffEvent(ConsoleManager sender,ConsoleCtrlEventArgs e, ref bool cancel)
        {
            ConsoleWriter.WriteLine();
            ConsoleWriter.WriteLine("System logoffing");
        }

        static void Console_CloseEvent(ConsoleManager sender,ConsoleCtrlEventArgs e, ref bool cancel)
        {
            ConsoleWriter.WriteLine();
            ConsoleWriter.WriteLine("Console closing");
            cancel = false;
        }

        static void Console_CtrlBreakEvent(ConsoleManager sender,ConsoleCtrlEventArgs e, ref bool cancel)
        {
            ConsoleWriter.Write("Ctrl+Break");
            cancel = true;
        }
    }
}