要調用API函數的 代碼如下 using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Runtime.InteropServices; namespace Example { public class Form1 : System.Windows.Forms.Form { private System.Windows.Forms.Timer timer1; private System.Windows.Forms.DateTimePicker dateTimePicker1; private System.Windows.Forms.Button button1; private System.ComponentModel.IContainer components; public Form1() {
InitializeComponent(); } protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows Form Designer generated code private void InitializeComponent() { this.components = new System.ComponentModel.Container(); this.timer1 = new System.Windows.Forms.Timer(this.components); this.dateTimePicker1 = new System.Windows.Forms.DateTimePicker(); this.button1 = new System.Windows.Forms.Button(); this.SuspendLayout(); // // timer1 // this.timer1.Tick += new System.EventHandler(this.timer1_Tick); // // dateTimePicker1 // this.dateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.Time; this.dateTimePicker1.Location = new System.Drawing.Point(13, 26); this.dateTimePicker1.Name = "dateTimePicker1"; this.dateTimePicker1.Size = new System.Drawing.Size(80, 22); this.dateTimePicker1.TabIndex = 0; // // button1 // this.button1.Location = new System.Drawing.Point(13, 60); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(80, 25); this.button1.TabIndex = 1; this.button1.Text = "SetSystemTime"; this.button1.Click += new System.EventHandler(this.button1_Click); // // Form1 // this.AutoScaleBaseSize = new System.Drawing.Size(5, 15); this.ClientSize = new System.Drawing.Size(112, 117); this.Controls.Add(this.button1); this.Controls.Add(this.dateTimePicker1); this.Name = "Form1"; this.Text = "Form1"; this.Load += new System.EventHandler(this.Form1_Load); this.ResumeLayout(false); } #endregion [STAThread] static void Main() { Application.Run(new Form1()); } [DllImport( "Kernel32.dll" )] public static extern void GetLocalTime(SystemTime st ); [DllImport( "Kernel32.dll" )] public static extern void SetLocalTime(SystemTime st ); [StructLayout( LayoutKind.Sequential)] public class SystemTime { public ushort wYear; public ushort wMonth; public ushort wDayOfWeek; public ushort wDay; public ushort wHour; public ushort wMinute; public ushort wSecond; public ushort wMilliseconds; } private void timer1_Tick(object sender, System.EventArgs e) { SystemTime st = new SystemTime(); GetLocalTime(st); this.Text="The Date and Time is: " ; this.Text=this.Text+st.wHour.ToString()+":"; this.Text=this.Text+st.wMinute.ToString()+":"; this.Text=this.Text+st.wSecond.ToString()+"."; this.Text=this.Text+st.wMilliseconds.ToString(); } private void Form1_Load(object sender, System.EventArgs e) { this.timer1.Interval=100; this.timer1.Enabled=true; this.dateTimePicker1.Value=DateTime.Now; } private void button1_Click(object sender, System.EventArgs e) { SystemTime st = new SystemTime(); st.wYear=(ushort)this.dateTimePicker1.Value.Year; st.wMonth=(ushort)this.dateTimePicker1.Value.Month; st.wDay=(ushort)this.dateTimePicker1.Value.Day; st.wHour=(ushort)this.dateTimePicker1.Value.Hour; st.wMinute=(ushort)this.dateTimePicker1.Value.Minute; st.wSecond=(ushort)this.dateTimePicker1.Value.Second; SetLocalTime(st); } } }
代碼如下
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Runtime.InteropServices;
namespace Example
{
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Timer timer1;
private System.Windows.Forms.DateTimePicker dateTimePicker1;
private System.Windows.Forms.Button button1;
private System.ComponentModel.IContainer components; public Form1()
{
InitializeComponent();
}
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
} #region Windows Form Designer generated code
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.dateTimePicker1 = new System.Windows.Forms.DateTimePicker();
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// timer1
//
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// dateTimePicker1
//
this.dateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.Time;
this.dateTimePicker1.Location = new System.Drawing.Point(13, 26);
this.dateTimePicker1.Name = "dateTimePicker1";
this.dateTimePicker1.Size = new System.Drawing.Size(80, 22);
this.dateTimePicker1.TabIndex = 0;
//
// button1
//
this.button1.Location = new System.Drawing.Point(13, 60);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(80, 25);
this.button1.TabIndex = 1;
this.button1.Text = "SetSystemTime";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 15);
this.ClientSize = new System.Drawing.Size(112, 117);
this.Controls.Add(this.button1);
this.Controls.Add(this.dateTimePicker1);
this.Name = "Form1";
this.Text = "Form1";
this.Load += new System.EventHandler(this.Form1_Load);
this.ResumeLayout(false); }
#endregion
[STAThread]
static void Main()
{
Application.Run(new Form1());
} [DllImport( "Kernel32.dll" )]
public static extern void GetLocalTime(SystemTime st );
[DllImport( "Kernel32.dll" )]
public static extern void SetLocalTime(SystemTime st ); [StructLayout( LayoutKind.Sequential)]
public class SystemTime
{
public ushort wYear;
public ushort wMonth;
public ushort wDayOfWeek;
public ushort wDay;
public ushort wHour;
public ushort wMinute;
public ushort wSecond;
public ushort wMilliseconds;
} private void timer1_Tick(object sender, System.EventArgs e)
{
SystemTime st = new SystemTime();
GetLocalTime(st);
this.Text="The Date and Time is: " ;
this.Text=this.Text+st.wHour.ToString()+":";
this.Text=this.Text+st.wMinute.ToString()+":";
this.Text=this.Text+st.wSecond.ToString()+".";
this.Text=this.Text+st.wMilliseconds.ToString();
} private void Form1_Load(object sender, System.EventArgs e)
{
this.timer1.Interval=100;
this.timer1.Enabled=true;
this.dateTimePicker1.Value=DateTime.Now;
} private void button1_Click(object sender, System.EventArgs e)
{
SystemTime st = new SystemTime();
st.wYear=(ushort)this.dateTimePicker1.Value.Year;
st.wMonth=(ushort)this.dateTimePicker1.Value.Month;
st.wDay=(ushort)this.dateTimePicker1.Value.Day;
st.wHour=(ushort)this.dateTimePicker1.Value.Hour;
st.wMinute=(ushort)this.dateTimePicker1.Value.Minute;
st.wSecond=(ushort)this.dateTimePicker1.Value.Second;
SetLocalTime(st);
}
}
}