상세 컨텐츠

본문 제목

SetSystemTime - System날짜및 시간설정

.NET/Windows API for .NET

by 클리엘 클리엘 2019.08.06 16:05

본문

SetSystemTime함수는 System의 날짜및 시간을 설정하는 함수입니다.

Declare Function SetSystemTime Lib "kernel32" Alias "SetSystemTime" (ByRef lpSystemTime As SYSTEMTIME) As Integer

▶VB.NET 선언

[DllImport("kernel32")]
public static extern int SetSystemTime(ref SYSTEMTIME lpSystemTime);

▶C# 선언


함수의 인수로는 변경할 시간이 저장된 SYSTEMTIME구조체를 기술하면 되는데 이 구조체는 다음과 같이 선언될 수 있습니다.

Public Structure SYSTEMTIME
    Public wYear As Short '년도
    Public wMonth As Short '월
    Public wDayOfWeek As Short '요일
    Public wDay As Short '일
    Public wHour As Short '시
    Public wMinute As Short '분
    Public wSecond As Short '초
    Public wMilliseconds As Short '1/100 초
End Structure

▶VB.NET

public struct SYSTEMTIME
{
    public short wYear; //년도
    public short wMonth; //월
    public short wDayOfWeek; //요일
    public short wDay; //일
    public short wHour; //시
    public short wMinute; //분
    public short wSecond; //초
    public short wMilliseconds; //1/100초
}

▶C#


SYSTEMTIME구조체를 선언하였으면 변경할 시간을 지정해야 합니다. 예를 들어 2009년 8월 18일 오전 10시 50분 30초로 지정하려면 구조체 Member를 다음과 같이 설정합니다.

Dim sTime As SYSTEMTIME
sTime.wYear = 2009
sTime.wMonth = 8
sTime.wDayOfWeek = 1
sTime.wDay = 18
sTime.wHour = 1
sTime.wMinute = 50
sTime.wSecond = 30
sTime.wMilliseconds = 0

▶VB.NET

SYSTEMTIME sTime = default(SYSTEMTIME);
sTime.wYear = 2009;
sTime.wMonth = 8;
sTime.wDayOfWeek = 1;
sTime.wDay = 18;
sTime.wHour = 0;
sTime.wMinute = 50;
sTime.wSecond = 30;
sTime.wMilliseconds = 0;

▶C#


참고로 시는 오전9시부터, 요일은 일요일부터 0으로 시작합니다. 구조체 설정이 완료되면 SetSystemTime함수를 호출하여 설정한 시간으로 변경합니다.

Call SetSystemTime(sTime)

▶VB.NET 호출

SetSystemTime(ref sTime);

▶C# 호출


이 함수는 실행에 실패하면 0을 반환합니다.

관련글 더보기

댓글 영역