C#远程时间同步助手软件设计

本程序才C#语言开发,实现远程时间同步功能,可以将本地时间每隔一段时间与时间服务器时间进行同步!不足之处还望见谅!

软件开发环境:Visual Studio 2010

软件安装简单说明

时间服务器的ntp服务开启状态:

TimeSync.exe时间同步软件
本软件为纯绿色版,不需要安装,可以直接点击运行,编译环境.net4.0

第一步:双击TimeSync.exe
第二步:参数设置--》设置--》输入服务器ip地址和端口以及间隔同步时间---》确定---》重新启动
第三步:参数设置--》设置为自启动(开机自动开启)

一、Win7开启NTP服务

二、程序运行结果展示

三、部分程序代码展示

四、程序源代码下载地址

一、Win7开启NTP服务

在桌面上右击“计算机”--》选择“管理”--》然后选择--》“服务

选中“Windows Time”,设置为开启,这样就可以将“Windows Time”这一个服务打开。“开始”--》“运行”--》输入“regedit”打开注册表。

找到NetSerVer这一项,具体见插图,里面很详细。

将NetSerVer下Enabled的值设置为 1。

重启电脑系统,就可以使用该电脑作为NTP服务器了

二、程序运行结果展示

1.程序主窗体

2.程序服务器配置

3.程序托盘设计

4.程序所用控件以及布局等等

三、部分程序代码展示

//读取配置信息public void Read(){IniFile cfg = new IniFile(Application.StartupPath + @"\Config\SetConfig.ini");if (cfg != null){NtpServerIP = cfg.IniReadValue("ServerConfig", "IP");comboBox1.Items.Add(NtpServerIP);comboBox1.SelectedIndex = 0;NtpServerPort = cfg.IniReadValue("ServerConfig", "Port");textBox3.Text = cfg.IniReadValue("ServerConfig", "Interval");}}private void button1_Click(object sender, EventArgs e){textBox1.Clear();var dt =  getTime();if (dt.ToString("yyyy-MM-dd HH:mm:ss") == "1900-01-01 08:00:00"){ MessageBox.Show("服务器异常!", "提示"); }else{var Dt = DateTime.Now;label5.Text = (Dt - dt).ToString("ss");textBox1.Text = dt.ToString("yyyy-MM-dd HH:mm:ss");}}private void btnStartSet_Click(object sender, EventArgs e){if (SetTime()){ MessageBox.Show("时间同步成功!", "提示"); }}public DateTime getTime(){var client = new SNTPTimeClient.SNTPTimeClient(NtpServerIP, NtpServerPort);if (client.Connect()){DateTime getEd = client.ReceiveTimestamp;//获取指定IP的系统时间return getEd;}else{string date = "1900-01-01 08:00:00";DateTime getEd = Convert.ToDateTime(date);return getEd;}// SNTPTimeClient.SNTPTimeClient.SetLocalTime(ref st);//设置本地时间}public bool SetTime(){var client = new SNTPTimeClient.SNTPTimeClient(NtpServerIP, NtpServerPort);if (client.Connect()){DateTime getEd = client.ReceiveTimestamp;//获取指定IP的系统时间var st = new SystemTime{wDay = (ushort)getEd.Day,wDayOfWeek = (ushort)getEd.DayOfWeek,wHour = (ushort)getEd.Hour,wMiliseconds = (ushort)getEd.Millisecond,wMinute = (ushort)getEd.Minute,wMonth = (ushort)getEd.Month,wSecond = (ushort)getEd.Second,wYear = (ushort)getEd.Year};SNTPTimeClient.SNTPTimeClient.SetLocalTime(ref st);//设置本地时间//notifyIcon1.ShowBalloonTip(500, "提示", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), ToolTipIcon.Info); toolStripStatusLabel2.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");toolStripStatusLabel3.Text = textBox3.Text.Trim() + "分钟后同步";return true;}else{notifyIcon1.ShowBalloonTip(500, "提示","服务器异常", ToolTipIcon.Info);return false;}}//最小化系统托盘图标可见private void FrmMain_SizeChanged(object sender, EventArgs e){ShowInTaskbar = false;notifyIcon1.Visible = true;if (WindowState == FormWindowState.Minimized)notifyIcon1.ShowBalloonTip(500,"提示","小飞时间同步程序正在运行",ToolTipIcon.Info);}//双击托盘图标private void notifyIcon1_DoubleClick(object sender, EventArgs e){if (WindowState != FormWindowState.Minimized) return;Show();WindowState = FormWindowState.Normal;notifyIcon1.Visible = false;ShowInTaskbar = true;}//拦截关闭按钮为最小化private void FrmMain_FormClosing(object sender, FormClosingEventArgs e){e.Cancel = true;WindowState = FormWindowState.Minimized;notifyIcon1.ShowBalloonTip(500, "提示", "时间同步程序正在运行", ToolTipIcon.Info);}private void 显示主窗体ToolStripMenuItem_Click(object sender, EventArgs e){WindowState = FormWindowState.Normal;}private void 退出ToolStripMenuItem_Click(object sender, EventArgs e){if (MessageBox.Show("是否退出程序?", "退出", MessageBoxButtons.OKCancel) != DialogResult.OK) return;Dispose();Close();}private void timerLocal_Tick(object sender, EventArgs e){textBox2.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");//var sec = STimer / 1000;//var dt = DateTime.Parse(Dt);//toolStripStatusLabel2.Text = dt.AddSeconds(sec).ToString("yyyy-MM-dd HH:mm:ss");}private void timerNet_Tick(object sender, EventArgs e){SetTime();}private void 退出系统ToolStripMenuItem_Click(object sender, EventArgs e){退出ToolStripMenuItem_Click(sender,e);}private void 服务器参数ToolStripMenuItem_Click(object sender, EventArgs e){FrmSeting frmseting = new FrmSeting();frmseting.Show();}//自启动public static bool SetSelfStart(){try{var exeDir = Application.ExecutablePath;var rk = Registry.LocalMachine;var softWare = rk.OpenSubKey("SOFTWARE");var microsoft = softWare.OpenSubKey("Microsoft");var windows = microsoft.OpenSubKey("Windows");var current = windows.OpenSubKey("CurrentVersion");var run = current.OpenSubKey(@"Run", true);run.SetValue("时间同步程序", exeDir);return true;}catch (Exception ex){MessageBox.Show(ex.Message);return false;}}//取消自启动public static bool CancelSelfStart(){try{var rk = Registry.LocalMachine;var softWare = rk.OpenSubKey("SOFTWARE");var microsoft = softWare.OpenSubKey("Microsoft");var windows = microsoft.OpenSubKey("Windows");var current = windows.OpenSubKey("CurrentVersion");var run = current.OpenSubKey(@"Run", true);run.DeleteValue("时间同步程序");return true;}catch (Exception ex){MessageBox.Show(ex.Message);return false;}}private void 设置为自启动ToolStripMenuItem1_Click(object sender, EventArgs e){if (SetSelfStart()){MessageBox.Show("加入自启动成功", "提示", MessageBoxButtons.OK);}}private void 取消自启动ToolStripMenuItem1_Click(object sender, EventArgs e){if (CancelSelfStart()){MessageBox.Show("成功取消自启动", "提示", MessageBoxButtons.OK);}}

四、程序源代码下载地址

程序工程下载地址  http://download.csdn.net/detail/coderjyf/9545672

C#远程时间同步助手软件设计相关推荐

  1. 基于C#的自动生成视频和海报营销号助手软件设计 课程报告+展示PPT+项目源码

    目录 营销号"助手"软件 1 需求分析与概要设计 1 项目说明 1 1.1. 项目目标: 2 1.2. 软硬件环境需求 2 1.3. 使用的关键技术: 2 需求分析 3 2.1. ...

  2. 基于android的校园服务平台,基于android平台的校园助手软件的设计

    近些年来,随着互联网及其相关技术的不断发展,学校信息化建设已逐渐成为人们关注的焦点.教务管理是整个学校管理工作的核心,学校管理者需要科学地运用高效的管理手段管理其他工作人员的工作,从而使得学校的教务管 ...

  3. 服务器监控报警系统软件设计,基于E—mail的远程监控系统报警软件设计.doc

    基于E-mail的远程监控系统报警软件设计 基于E-mail的远程监控系统报警软件设计 基于E-mail的远程监控系统报警软件设计 报警系统是远程监控系统的重要组成部分,实现的关键在于如何对监控对象指 ...

  4. 基于Android平台的手机安全助手的设计与实现

    1.研究(设计)目的意义及国内外研究状况和应用前景(附参考文献): (一)选题的目的和意义 Android曾经是一家创立于旧金山的公司的名字,该公司于2005年8月份被Google收购,并从此踏上了飞 ...

  5. 基于RT-Thread+RA6M4的远程开机助手

    本文由RT-Thread论坛用户@原子号参加瑞萨电子 MCU RT-Thread开发设计大赛发布的原创文章:https://club.rt-thread.org/ask/article/e086a4b ...

  6. 创意与工具的奇妙交融:探索专业课软件设计的辉煌未来

    UI设计作为一门专业课程,扮演着塑造数字化世界的重要角色.通过创意与工具的结合,我们能够创造出美观.直观且功能强大的软件界面.在本篇博客中,我将探索专业课软件设计的辉煌未来,重点介绍两个主要工具:Fi ...

  7. 09年齐鲁软件设计大赛题目

                  2009年软件设计大赛命题  第一部分 参赛题目                  一.手机游戏 随着手机的广泛普及和手机技术含量的不断升级,随着3G时代的到来,种种迹象都 ...

  8. UPS远程监控系统的设计与实现

    本文介绍了在UPS现有设备的前提下,为了提高设备的可靠性以及设备监控管理的科学化和自动化,通过软件与硬件的设计,构建一个UPS设备远程监控系统的过程,并阐述了该系统的工作原理.应用效果和前景. 引   ...

  9. 《食堂远程下单系统》设计规格说明书

      <食堂远程下单系统> 设计规格说明书 课程名称:软件需求工程与建模 指导老师:汤世平 小组成员: 姓名:金晨   学号:1120161943 姓名:方姝曼 学号:1120161940 ...

  10. 架构设计:远程调用服务架构设计及zookeeper技术详解(上篇)

    一.序言 Hadoop是一个技术生态圈,zookeeper是hadoop生态圈里一个非常重要的技术,当我研究学习hadoop的相关技术时候,有两块知识曾经让我十分的困惑,一个是hbase,一个就是zo ...

最新文章

  1. 十八岁华裔天才携手「量子计算先驱」再次颠覆量子计算
  2. [转]内核和用户空间数据交换
  3. boost::packaged_task相关的测试程序
  4. Python datetime isocalendar()方法与示例
  5. 内存映射与DMA笔记
  6. PREV-55 小计算器 (进制转换)
  7. SpringCloud实战(二)Alibaba集成Ribbon实现负载均衡
  8. async/await 异步编程(转载)
  9. 联想电脑尺寸在哪里看_联想笔记本电脑型号查看方式、含义介绍【图文教程】...
  10. Windows Server 2016忘记密码破解方法
  11. Knowledge Representation笔记
  12. 多测师软件测试肖sir_金融问题(1)
  13. Orz这个词的复杂意思[z]
  14. 今日头条阅读量怎么刷_今日头条推广 今日头条阅读量怎么刷
  15. DIV display与visibility
  16. 数学基础知识(扩展欧几里得定理)
  17. python枚举窗口句柄_如何使用 WIN32 API 枚举窗口?
  18. docker_相关操作
  19. 实践中 XunSearch(讯搜)的使用教程步骤
  20. 3.java 模拟保皇游戏开始的发牌过程

热门文章

  1. [JAVA]EXCEL工具推荐-MyExcel
  2. 一个屌丝程序猿的人生(四十二)
  3. ubuntu 安装 SMPlayer
  4. python:爬dfcf笔记
  5. 前端EChart图表转换为图片保存到服务器路径
  6. Unity动态换装之Spine换装
  7. 小程序navigateTo失效
  8. VOT测试自己的数据集
  9. 用svg矢量图实现动画效果
  10. LCP 03. 机器人大冒险