.net中设置系统时间

回复人: acptvb(微软全球技术中心 VB技术支持) ( )

感谢您使用微软产品。

.NET并没有提供可以修改系统时间的名字空间(namespace),您可以通过Win32 API的SetSystemTime API函数来设置系统时间:

using System;
using System.Runtime.InteropServices;

[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;
}

public class Win32
{
[DllImport("Kernel32.dll")]
public static extern bool SetSystemTime( ref SystemTime sysTime );
[DllImport("Kernel32.dll")]
public static extern void GetSystemTime(ref SystemTime sysTime);
}

public class TestPInvoke
{
public static void Main()
{
SystemTime sysTime =3D new SystemTime();

sysTime.wYear = 2002;
sysTime.wMonth=1;
sysTime.wDay=1;
sysTime.wDayOfWeek=1;
sysTime.wHour=1;
sysTime.wMinute=1;
sysTime.wSecond=1;
sysTime.wMiliseconds=1;

Win32.SetSystemTime(ref sysTime);
}
}

请参考microsoft.public.dotnet.framework新闻组上的帖子:
http://groups.google.com/groups?hl=zh-CN&lr=lang_zh-CN|lang_zh-TW|lang_en&ie=UTF-8&selm=O10nq1XjAHA.2184%40tkmsftngp02

希望能对您有所帮助!

时间: 2024-08-03 09:46:11

.net中设置系统时间的相关文章

在C#中改变系统时间 && 得到系统时间改变通知

一.改变系统时间C#的System.DateTime类提供了对日期时间的封装,用它进行时间的转换和处理很方便,但是我没有在其中找到任何可以用来修改系统时间的成员.用过VC.VB等的朋友可能知道,我们可以调用Win32 API SetLocalTime来改变系统时间,看来C#中也只能如此了.SetLocalTime需要一个SYSTEMTIME结构指针作为参数,这倒不难,我们可以"比葫芦画瓢"很快在C#中定义这个结构,但问题是,我同时还想"享受".NET Framewo

Windows 8 中设置系统计划任务

  Windows 8 中设置系统计划任务 操作步骤: 任务计划,可以将任何脚本.程序或文档安排在某个时间运行,比如自定义关机时间.通知消息等等.同时按下Windows键+Pause Break键,调出系统属性,通过点击"控制面板",调出控制面板; 点击控制面板→系统和安全→管理工具→任务计划".就可以看到"任务计划"的选项. 1.创建基本任务. 1.1 选择"操作"区域的"创建基本任务"; 1.2 输入要创建的基本

xp系统任务栏中设置具体时间的方法

  系统设置显示时间步骤: 1.使用鼠标依次打开"开始-控制面板",在弹出的控制面板中选择"区域和语言选项":如下图: 2.在弹出的区域和语言选项窗口中将其切换至"区域选项"选项栏,点击窗口中的"自定义";如下图: 3.单击后会弹出"自定义区域选项"窗口,我们选择"日期"任务栏,接着可看到下方"长日期格式"中的下拉菜单有多个选择,我们可以选择dddd yyyy'年'M

Windows 10设置系统时间显示到秒的方法

在电脑的任务栏右侧会显示系统时间,往往只显示到分,而一位Win10用户想让系统时间显示到秒,这该如何操作呢?操作方法其实很简单,我们只要在注册表修改一个值即可,具体操作方法如下. 方法\步骤: 1.在Cortana搜索栏输入regedit,按回车键进入注册表编辑器; 2.定位到:HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced,新建DWORD(32位)值,命名为ShowSecondsInSy

C++设置系统时间及系统时间网络更新的方法_C 语言

本文实例讲述了C++设置系统时间及系统时间网络更新的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: //根据返回的时间设置系统时间 void setTimeFromTP(ULONG ulTime) {      FILETIME ft;      SYSTEMTIME st;        //将基准时间转换成windows文件时间      st.wYear = 1900;      st.wMonth = 1;      st.wDay = 1;      st.wHo

询问工程中设置系统超时的时间设置

问题描述 近来接手了一个项目,前任走的很快,所以也没有交接,现在在一点点的啃他的代码.发现系统中有一个判断用户是否登录超时的动作,得到session的方式是用org.directwebremoting.WebContextFactory.CourtUser user = (CourtUser) WebContextFactory.get().getSession().getAttribute(SystemConfigPath.LONGING_BEAN_USERNAEM); 但是不知道这一套是从哪

linux中date命令设置系统时间的方法

首先必须是root帐号. 名称 : date 使用权限 : 所有使用者 使用方式 : date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]] 说明 : date 可以用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个

Cocos2d-x中获取系统时间和随机数实例_C 语言

随机数是我们在程序中经常要用到的,cocos2d-x用CCRANDOM_0_1产生随机数,但我们最后给它传入一个随机数种子,这样产生的随机数才是真正的随机数,而这个种子就是我们一般使用的时间.下面通过代码看看我们如何实现. bool HelloWorld::init() { bool bRet = false; do { CC_BREAK_IF(! CCLayer::init()); //获取系统时间 //time_t是long类型,精确到秒,通过time()函数可以获得当前时间和1970年1月

在BIOS中设置系统日期

  在BIOS中对系统的日期进行设置,首先要在开机的过程中进入BIOS中,然后将光标移动到Syste Date选项,可以设置系统日期(月.日.年). 要更改"月",按[PageUp]和[PageDown]键,更改完毕后按[Enter]键进入"日"设置."日"更改完毕后按[Enter]键进入"年"设置.设置完毕后,星期就会随着日期而改变,无需进行设置.