Microsoft MVP성태의 닷넷 이야기
인터넷 시간을 불러와 pc에 적용 시키고 싶습니다. [링크 복사], [링크+제목 복사],
조회: 16274
글쓴 사람
세퉁
홈페이지
첨부 파일
(연관된 글이 1개 있습니다.)

안녕하세요~

인터넷 시간 (time.nist.gov, time.windows.com 등)을 불러와 pc에 적용하는 프로그램을 만들고 있는데요.

인터넷 시간을 불러오는 것까진 됬는데..
pc의 시간을 바꾸는게 안됩니다.
SetSystemTime() 함수를 호출하면 된다는데... 안되네요

무엇이 문제 일까요??






[연관 글]






[최초 등록일: ]
[최종 수정일: 5/3/2019]


비밀번호

댓글 작성자
 



2019-05-03 07시12분
코드를 이렇게 바꿔보세요.

bool result = SetSystemTime(ref st);
if (result == false)
{
    int lastError = Marshal.GetLastWin32Error();
    Console.WriteLine(lastError);
}

아마도 1314가 찍힐 텐데요. 이 값을 Visual Studio의 "Tools" / "Error Lookup" 메뉴로 실행되는 프로그램에서 조회해 보면 "A required privilege is not held by the client."라고 나옵니다. 즉, 시스템 시간을 변경하는 것은 일반 사용자 권한으로는 할 수 없습니다. 간단하게는 해당 프로그램을 관리자 권한으로 실행하면 해결됩니다.
정성태
2019-05-03 08시08분
다음의 글을 참고하세요.

C# - 인터넷 시간 서버로부터 받은 시간을 윈도우에 적용하는 방법
; http://www.sysnet.pe.kr/2/0/11883
정성태
2019-05-07 09시14분
[세퉁] 관리자 권한이 필요한 것이었군요.. 감사합니다. 해결했습니다!
[guest]

NoWriterDateCnt.TitleFile(s)