
2022-09-27 21:31:49
dxm809
码龄12年
关注
(1)为了使用DllImportAttribute类,需要引入命名空间:
using System.Runtime.InteropServices
(2)自定义类SetSystemDateTime用于设置系统时间。代码如下:
public class SetSystemDateTime
{
[DllImportAttribute( "Kernel32.dll" )]
public static extern void GetLocalTime(SystemTime st )
[DllImportAttribute( "Kernel32.dll" )]
public static extern void SetLocalTime(SystemTime st )
}
(3)自定义类SystemTime用于定义日期时间类。代码如下:
[StructLayoutAttribute( LayoutKind.Sequential)]
public class SystemTime
{
public ushort vYear
public ushort vMonth
public ushort vDayOfWeek
public ushort vDay
public ushort vHour
public ushort vMinute
public ushort vSecond
}
(4)选择一个时间,单击“设置系统新日期时间”按钮,在该按钮的Click事件下,调用自定义类SetSystemDateTime和SystemTime,修改当前系统日期时间。代码如下:
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)
}
}
原文链接:http://wjhsh.net/08shiyan-p-2221522.html
打开CSDN,阅读体验更佳
c#修改系统时间的方法_星辰海阁的博客_c#修改系统时间
C#没有提供直接的方法对系统时间进行设定,一般我们只能通过DateTime.Now获取系统时间,但是并不能对这个时间进行修改。这里对了解的主要的两种方式做了个整理,希望对大家有帮助。 方法一,用API函数的方式来修改时间。 首先定义API函数 [csh...
继续访问
如何使用C#修改本地Windows系统时间_chinaherolts2008的博客-CSDN博 ...
C#提升管理员权限修改本地Windows系统时间 在桌面应用程序开发过程中,需要对C盘下进行文件 *** 作或者系统参数进行设置,例如在没有外网的情况下局域网内部自己的机python基础教程制进行时间同步校准,这是没有管理员权限便无法进行设置。
继续访问
最新发布 C++Windows修改系统时间
Windows C语言/C++的system() 函数可以用cmd控制台DOS指令,在管理员模式修改系统时间,因此可编写C程序一键修改系统时间。
继续访问
c#修改系统时间的方法
C#没有提供直接的方法对系统时间进行设定,一般我们只能通过DateTime.Now获取系统时间,但是并不能对这个时间进行修改。这里对了解的主要的两种方式做了个整理,希望对大家有帮助。 方法一,用API函数的方式来修改时间。 首先定义API函数 [csharp] view plaincopy [StructLayout( LayoutKind.
继续访问
C# 修改系统时间_Jacob Ni的博客
C# 修改系统时间 由于手头有一个物联网的触摸屏程序需要提供用户修改系统时间的功能。该功能需要win32的API函数提供支持。具体代码如下: internalclassSystemTimeWin32 { [DllImport("Kernel32.dll",CharSet = CharSet.Ansi)]publicstatic...
继续访问
C#修改本机系统时间(适用于win2003 win2008 windowXp 系统)
Convert.ToUInt16(currentTime.Minute)sysTime.second = Convert.ToUInt16(currentTime.Second)sysTime.milliseconds = Convert.ToUInt16(currentTime.Millisecond)//SetSystemTime()默认设置的为UTC时间,设定时比北京时间多了8个...
继续访问
C#修改电脑系统时间
C#修改电脑系统时间
继续访问
C#提升管理员权限修改本地Windows系统时间
C#提升管理员权限修改本地Windows系统时间 在桌面应用程序开发过程中,需要对C盘下进行文件 *** 作或者系统参数进行设置,例如在没有外网的情况下局域网内部自己的机制进行时间同步校准,这是没有管理员权限便无法进行设置。 1. 首先需要获得校准时间,两种方式: 通过可上网的电脑进行外部获取当前时间。 通过NTP实现 //NTP消息大小摘要是16字节 (RFC 2030) byte[] ntpData = new byte[48]//设置跳跃指示器、版本号和模式值 // LI = 0
继续访问
C# 修改windows系统时间_白白小白菜的博客_c#修改系统时间
C# 修改windows系统时间 由于软件系统需要与MES做数据对接,设备电脑时间与MES端有相差,而采集数据的时间需要做到统一。当然不建议修改本机系统的时间,如需与mes时间一致,建议软件项目使用自身时间。由于开发软件受限,当然更多的是技术有限,...
继续访问
C#修改系统时间
main: class Program { static string inputstatic UpdateHelper updTimestatic void Main(string[] args) { Console.WriteLine("START APPLICATION
继续访问
热门推荐 C# 爬取 在线时间 设置 Windows系统时间
效果图: 最近发现自己的小主机每次关机后,时间都不准时,这个问题一般都是主板的电池没电导致的,某宝买一个即可,但毕竟是写程序的,为什么不能写一个程序校准呢,每次开机运行一下即可, 玩玩就即可还是要去换一个电池的… 时间来源: 北京时间官网 时间源是爬取北京时间的官网来的然后在就行字符串的分割得到需要的部分 C# 网络爬虫 抓取“北京标准时间“ 网页请求 这篇文章有详细介绍 在请求网页时,如果网络不通畅,导致网页加载比较慢,这时就会导致窗体的假死,所以需要在按钮里定义线程,让线程去执行这个方法 线程
继续访问
VC++ SetLocalTime与SetSystemTime区别
VC++ SetLocalTime与SetSystemTime区别 SetLocalTime设置北京时间;SetSystemTime设置格林威治时间,比北京时间晚8小时,需要调整wHour。 初始化SYSTEMTIME是不能忽略其成员变量wDayOfWeek,wMilliseconds(可lpSystemTime->wDayOfWeek = -1lpSystemT
继续访问
C# 获取系统时间的方法
C# 获取系统时间的方法)前言获取系统当前时间获取当前时间的前一秒时间 前言 通过本篇文章记录在C#的学习过程中遇到的各种获取系统时间的方法,记录各种系统时间的应用场景。 获取系统当前时间 通过C#获取系统当前时间的方式可以通过下面的方式 string dat额= DateTime.Now.ToLocalTime().ToString()打印的结果的格式是下面的这种形式 2022/3/31 10:11:26 当需要设置时间的显示格式时,可以使用下面的代码 string date = DateTime
继续访问
.net 获取网络时间(北京时间)24小时制
您好,手机修改时间的方法如下(以小米手机为例):
1、点击手机中的“设置”图标,然后找到“更多设置”
2、点击设置后找到更多设置,点击进入后点击日期和时间
3、然后取消选中“自动确定日期和时间”,然后选择“设置时间”保存即可
建议详细了解SetLocalTime()和SetSystemTime()这两个区别flag=Win32.SetLocalTime(ref sysTime)
flag=Win32.SetSystemTime(ref sysTime)
你会发现执行后系统时间会改变,但总是比预期的有些偏差。
这是时区的设置造成的,SetSystemTime()默认设置的为UTC时间,当系统设置时间的时候还会按照时区加上一个偏差。而我们的用的北京时间也就是东八区时间,刚好比UTC多了8个小时。这回了解二者的区别了吧。
至于你误差28天,我有点想不明白,也许你数据类型转换上也有问题
C#要设置系统时间必须要调用Win32的API,而其中相关的函数就是SetSystemTime(), GetSystemTimer(), SetLocalTime(), GetLocalTime(), 这是用VC写的函数,在VC++中是可以直接调用的。
MSDN上面并未对这几个函数作详细说明
对于这两个函数,其输入参数必须是一个下面这样的结构体,其成员变量类型必须是ushort,成员变量不能改变顺序。
[StructLayout(LayoutKind.Sequential)]
public struct SystemTime
{
public ushort wYear
public ushort wMonth
public ushort wDayOfWeek
public ushort wDay
public ushort wHour
public ushort wMinute
public ushort wSecond
public ushort wMiliseconds
}
调用Win32的API,根据需要选用:
public class Win32
{
[DllImport("Kernel32.dll")]
public static extern bool SetSystemTime(ref SystemTime sysTime )
[DllImport("Kernel32.dll")]
public static extern bool SetLocalTime(ref SystemTime sysTime)
[DllImport("Kernel32.dll")]
public static extern void GetSystemTime(ref SystemTime sysTime)
[DllImport("Kernel32.dll")]
public static extern void GetLocalTime(ref SystemTime sysTime)
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)