调用系统api修改系统时间
一:截图

二:代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices; namespace SetDate
{
public partial class Frm_Main : Form
{
public Frm_Main()
{
InitializeComponent();
} public class SetSystemDateTime//自定义类SetSystemDateTime,用于设置系统日期,为了使用DllImportAttribute类(DllImportAttribute类是指可以将属性应用于方法,
//并由非托管动态链接库(DLL)作为静态入口点公开),
//需要引入命名空间:using System.Runtime.InteropServices;
{
[DllImportAttribute("Kernel32.dll")]//使用包含要导入的方法的 DLL 的名称初始化 DllImportAttribute 类的新实例。
public static extern void GetLocalTime(SystemTime st);//C#要设置系统时间必须要调用Win32的API,而其中相关的函数就是SetSystemTime(), GetSystemTimer(), SetLocalTime(), GetLocalTime(),
//这似乎是用VC写的函数,在VC++中是可以直接调用的。
//对于这两个函数,其输入参数必须是一个下面这样的结构体,其成员变量类型必须是ushort,成员变量不能改变顺序。
[DllImportAttribute("Kernel32.dll")]
public static extern void SetLocalTime(SystemTime st);
} [StructLayoutAttribute(LayoutKind.Sequential)]
public class SystemTime//自定义类SystemTime用于定义日期类
{
public ushort vYear;//年
public ushort vMonth;//月
public ushort vDayOfWeek;//星期
public ushort vDay;//日
public ushort vHour;//小时
public ushort vMinute;//分
public ushort vSecond;//秒
} private void button1_Click(object sender, EventArgs e)
{
this.textBox1.Text = DateTime.Now.ToString("F") +//得到系统时间
" " + DateTime.Now.ToString("dddd");
} private void button2_Click(object sender, EventArgs e)
{
if (MessageBox.Show("您真的确定更改系统当前日期吗?",//设置系统当前日期时间
"信息提示", MessageBoxButtons.OK) == DialogResult.OK)
{
DateTime Year = this.dateTimePicker1.Value;//得到时间信息 SystemTime MySystemTime = new SystemTime();//创建系统时间类的对象 SetSystemDateTime.GetLocalTime(MySystemTime);//得到系统时间 MySystemTime.vYear = (ushort)this.dateTimePicker1.Value.Year;//设置年
MySystemTime.vMonth = (ushort)this.dateTimePicker1.Value.Month;//设置月
MySystemTime.vDay = (ushort)this.dateTimePicker1.Value.Day;//设置日
MySystemTime.vHour = (ushort)this.dateTimePicker2.Value.Hour;//设置小时
MySystemTime.vMinute = (ushort)this.dateTimePicker2.Value.Minute;//设置分
MySystemTime.vSecond = (ushort)this.dateTimePicker2.Value.Second;//设置秒 SetSystemDateTime.SetLocalTime(MySystemTime);//设置系统时间
button1_Click(null, null);//执行按钮点击事件
}
}
}
}
调用系统api修改系统时间的更多相关文章
- 调用windows api 获取系统分辨率
c++中: int cxScreen,cyScreen; cxScreen=GetSystemMetrics(SM_CXSCREEN); cyScreen=GetSystemMetrics(SM_CY ...
- C#技术点--修改系统时间
C#的System.DateTime类提供了对日期时间的封装,用它进行时间的转换和处理很方便,但是我没有在其中找到任何可以用来修改系统时间的成员.用过VC.VB等的朋友可能知道,我们可以调用Win32 ...
- Wince修改系统时间问题
当我们需要修改到系统时间的时候,需要用到下面四个函数:SetLoaclTime,GetLocalTime,SetSystemTime,GetSystemTime.这四个函数是用来修改或者 ...
- Linux修改系统时间与时区
GMT (Greewich Mean Time) 格林威治标准时间:GMT是老的时间计量标准,根据地球的自转和公转来计算时间,也就是太阳每天经过位于英国伦敦郊区的皇家格林尼治天文台的标准时间就是中午 ...
- C/C++ 修改系统时间,导致sem_timedwait 一直阻塞的问题解决和分析
修改系统时间,导致sem_timedwait 一直阻塞的问题解决和分析 介绍 最近修复项目问题时,发现当系统时间往前修改后,会导致sem_timedwait函数一直阻塞.通过搜索了发现int sem_ ...
- Android 使用date set命令修改系统时间
测试环境:android 7.1.1 在adb shell中试图使用 date -s "yyyymmdd.[[[hh]mm]ss]"修改系统系统时间时,会提示 date: Unkn ...
- Centos7.4永久修改系统时间
[root@V3B01-zsy yum.repos.d]# date -s "2019-09-24 17:02:30" 2019年 09月 24日 星期二 17:02:30 CST ...
- 在 Xen 虚拟机下修改系统当前时间
在 Xen 虚拟机下修改系统当前时间 Xen 虚拟机默认不允许不同的虚拟机使用不同的系统时间,因此所有虚拟机的系统时间都会同宿主机的系统时间严格同步,用 date 命令修改虚拟机系统时间时虽然提示成功 ...
- Linux永久修改系统时间和时区方法
修改时区: 1> 找到相应的时区文件 /usr/share/zoneinfo/Asia/Shanghai 用这个文件替换当前的/etc/localtime文件. 或者找你认为是标准时间的服务器, ...
随机推荐
- HTML特效代码大全
1)贴图:<img src="图片地址">2)加入连接:<a href="所要连接的相关地址">写上你想写的字</a>1)贴 ...
- Unity3D 5.0简单的射线检测实现跳跃功能
这里是一个简单的跳跃,5.0和其他版本貌似不一样,并且,再起跳功能做的不完全. 不过一个基本的思路在这里. 1.首先,射线检测,这里是利用一个空对象,放到主角对象的下面 2.然后调节射线的位置,在主角 ...
- HTML5 文件域+FileReader 分段读取文件并上传(七)-WebSocket
一.单文件上传实例 HTML: <div class="container"> <div class="panel panel-default" ...
- IOS 多线程,线程同步的三种方式
本文主要是讲述 IOS 多线程,线程同步的三种方式,更多IOS技术知识,请登陆疯狂软件教育官网. 一般情况下我们使用线程,在多个线程共同访问同一块资源.为保护线程资源的安全和线程访问的正确性. 在IO ...
- linux搜索命令
1. find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件. find的使用格式如下: $ find <指定目录> <指定条件> <指定动作> ...
- chdir 改变当前目录为起始目录
<?php chdir(dirname(__FILE__));//把当前目录设置为当前目录?> 将 PHP 的当前目录改为 directory. 参数 directory 新的当前目录 返 ...
- ROW_NUMBER() OVER函数的基本用法用法
ROW_NUMBER() OVER函数的基本用法用法 转自:http://www.cnblogs.com/icebutterfly/archive/2009/08/05/1539657.html 语法 ...
- 基于Jquery+Ajax+Json实现分页显示
1.后台action产生json数据. List blackList = blackService.getBlackInfoList(mobileNum, gatewayid, startDate, ...
- atoi的实现
#include <iostream> using namespace std; int atoi(char* s) { int retval=0; int n=1; if (*s=='- ...
- [Python]更加Pythonic的多个List合并和Python的安利
原题: https://segmentfault.com/q/1010000005904259 问题: 倘若存在 L=[ [1,2,3],[4,5,6],[7,8,9]] 这样的列表,如何把合并成[1 ...