[질문]시스템 날짜,시간변경
글쓴이: neverdie / 작성시간: 수, 2005/04/27 - 8:16오후
질문을 읽어 주셔서 감사합니다. ^^
BCD형식으로 수신된 날짜, 시간 데이터를 받아서 시스템 시간을 변경하려 합니다.
struct tm Tm; time_t TimeNow; Tm.tm_mon = _bcdtoudec( &m_pRecvBuf[2], 1 ); // 04 Tm.tm_mday = _bcdtoudec( &m_pRecvBuf[3], 1 ); // 05 Tm.tm_year = _bcdtoudec( &m_pRecvBuf[4], 2 ); // 2005 Tm.tm_hour = _bcdtoudec( &m_pRecvBuf[6], 1 ); // 13 Tm.tm_min = _bcdtoudec( &m_pRecvBuf[7], 1 ); // 24 Tm.tm_sec = _bcdtoudec( &m_pRecvBuf[8], 1 ); // 10 TimeNow = mktime( &Tm ); stime( &TimeNow );
위에 처럼 하니깐 화면이 꺼집니다. 맨 처음에는 다운된줄 알았는데 마우스를 움직이니깐 화면이 되돌아 왔고 "date"명령어로 시간을 확인해 보니 1900년도 날짜로 되어있습니다. ㅠ.ㅠ
exec계열 함수를 이용해서 날짜, 시간을 변경 시도를 해봤는데 바뀌지 않네요.
mon = _bcdtoudec( &m_pRecvBuf[2], 1 ); day = _bcdtoudec( &m_pRecvBuf[3], 1 ); year = _bcdtoudec( &m_pRecvBuf[4], 2 ); hour = _bcdtoudec( &m_pRecvBuf[6], 1 ); min = _bcdtoudec( &m_pRecvBuf[7], 1 ); sec = _bcdtoudec( &m_pRecvBuf[8], 1 ); sprintf( datedt, "-s %04d%02d%04d", year, day, mon ); int result = execv("date" , (char* const*)datedt);
현재 돌고 있는 프로그램의 화면변경이나 다른 변화없이 날짜,시간을 변경하는 방법이 있나요?
Forums:
시간은 바뀌는데 왜 화면이 꺼지나요?
월에서 1을빼고, 년도에서 1900을 빼주니깐 변경이 됩니다.
그런데 시간을 2005년 04월 25일 시간으로 설정했다가 2005년 04년 26일 시간으로 변경하면 화면이 절전모드로 들어가는거 같습니다. 마우스를 움직이면 화면이 다시 나오거든요. 화면 스크린 세이버를 꺼야하나? 저는 스크린세이버 작동을 끈거 같은데...
안녕하세요~ ^^
댓글 달기