어제 친구가 WEB을 통해 IIS 서버의 시간을 수정해 달라는 요청을 받았습니다. 자신의 시스템은 ASP 3.0으로 개발되었기 때문에 이 예제의 코드는 ASP.NET이 아닌 ASP이지만 이 글을 쓰고 싶습니다. 결국, 프로그램 작성의 핵심은 언어가 아니라, 더 중요한 것은 아이디어입니다. 프로그래밍 언어를 도구로 이해하고, 프로그래밍 아이디어를 문제 해결을 위한 아이디어와 방법으로 이해한다면, 당신이 작성하는 프로그램은: "도구"를 사용하여 문제 해결의 "아이디어"에 따라 문제를 해결하는 데 사용됩니다.
먼저 네티즌 "Xiaohu"에게 감사의 말씀을 전하고 싶습니다. VB 6.0을 사용하여 ASP용 DLL 구성 요소를 작성하는 방법에 대해 그가 인터넷에서 쓴 기사를 읽은 후 이 글을 다시 작성했습니다. 년, 월, 일, 두 번째 수정.
먼저 VB 6.0에서 ActiveX Dll 프로젝트를 생성합니다. 정보는 다음과 같습니다.
프로젝트 이름: systimeset
클래스 모듈 이름: timeset
VB 6.0의 클래스 모듈 코드는 다음과 같습니다.
1옵션 명시적
2Private SystemTime을 SystemTime으로 사용
3개인 선언 함수 SetSystemTime()Function SetSystemTime Lib "kernel32"(lpSystemTime As SystemTime)
4Private형 시스템 시간
5 wYear를 정수로 표시
6 w월을 정수로 표시
7 wDayOfWeek를 정수로 사용
8 wDay를 정수로
9 wHour를 정수로 표현
10 w분을 정수로
11 wSecond를 정수로 표현
12 w밀리초를 정수로 표현
13엔드형
14
15어두운 TMP
16
17Private m_Hour는 정수로 표시됩니다.
18Private m_Minute를 정수로 사용
19Private m_Year를 정수로 표시
20Private m_Month를 정수로 사용
21Private m_Day를 정수로 사용
22Private m_Second를 정수로 사용
스물셋
24' 수정자 Li Xiyuan 수정일: 2006-08-31 수정 항목: 연, 월, 일, 초 연산 추가
25'---------
26'년
27공용 속성 Get()Property Get Year()를 정수로 가져오기
28년 = m_년
29End 속성
30공용 자산 Let()Property Let Year(tmp_Year를 정수로)
31m_년 = tmp_년
32End 속성
33'---------
34'개월
35공용 속성 Get()Property 월()을 정수로 가져오기
36개월 = m_월
37End 속성
38공용 속성 Let()Property Let Month(tmp_Month는 정수)
39m_월 = tmp_월
40End 속성
41'---------
42'일
43공용 속성 Get()Property Get Day()를 정수로 가져오기
44일 = m_일
45End 속성
46공용 속성 Let()Property Let Day(tmp_Day를 정수로)
47m_일 = tmp_일
48End 속성
49'---------
50'초
51공용 속성 Get()Property Get Second()를 정수로 가져오기
52초 = m_초
53End 속성
54공용 속성 Let()Property Let Second(tmp_Second As Integer)
55m_초 = tmp_초
56End 속성
57
58
59
60공용 속성 Get()Property Get Hour()를 정수로 가져오기
61시간 = m_시간
62End 속성
63공용 속성 Let()Property Let Hour(tmp_Hour 정수형)
64m_Hour = tmp_Hour
65End 속성
66공용 속성 Get()Property Get Minute()를 정수로 가져옵니다.
67분 = m_분
68End 속성
69공용 속성 Let()Property Let Minute(tmp_Minute As Integer)
70m_분 = tmp_분
71End 속성
72
73
74
75
76공용 함수 setup()함수 setup()을 정수로 사용
77SystemTime.wDay = 일
78'SystemTime.wDayOfWeek = 1
79SystemTime.w밀리초 = 0
80SystemTime.wMonth = 월
81SystemTime.wSecond = 초
82SystemTime.wYear = 연도
83SystemTime.wHour = 시간
84SystemTime.wMinute = 분
85setup = SetSystemTime(시스템 시간)
86
87종료 기능
88
이를 systimeset.dll이라는 파일로 컴파일합니다.
DLL 등록과 관련하여 일반적으로 VB는 DLL을 로컬 컴퓨터에서 컴파일한 후 자동으로 등록하지만 IIS 서버에 넣으려면 다음 방법을 사용하십시오.
1. systimeset.dll을 c:WINDOWSsystem32에 복사합니다.
2. 실행 메뉴에서 다음을 입력합니다: regsvr32 systimeset.dll(Enter 키 누르기)
3. 인터넷 게스트 계정에는 서버 시간을 수정할 수 있는 권한이 없기 때문에 권한을 설정하려면 제어판에서 "관리 도구"를 연 다음 "로컬 보안 정책" - "사용자 권한 할당"을 열고 두 번- "시스템 시간 변경"을 클릭하고 팝업 대화 상자에서 "사용자 또는 그룹 추가"를 클릭한 다음 INETNET 게스트 계정을 추가합니다.
4. 모든 작업이 완료되면 IIS 서비스를 한 번 다시 시작합니다.
위의 설정이 완료된 후 systimeset.dll 구성 요소를 사용하는 ASP 코드 페이지는 다음과 같습니다.
1<% @언어="vbscript" %>
2<%
3가지 기능 SetTime(strYear,strMonth,strDay)
4응답.만료=0
5set obj=server.createobject("systimeset.timeset")
6 obj.Year=strYear
7 obj.Month=str월
8 obj.Day=strDay
9 if Hour(now())-8>0이면
10 obj.Hour=시간(현재())-8
그 외 11개
12개 객체.시간=8
13이면 끝
14 obj.Minute=분(지금())
15 obj.Second=초(지금())
16obj.설정
17
18set obj=아무것도 없음
19엔드 기능
20
21요청("act")="modi"이면
22 SetTime(request.Form("strYear"),request.Form("strMonth"),request.Form을 호출합니다.
스물셋
24("strDay"))
25끝나면
26%>
27<form id="form1" name="form1" method="post" action="?act=modi">
28 <테이블 너비="290" border="0">
29<tr>
30 <td width="77"><input name="strYear" type="text" id="strYear" value="<%=연도(now())%>"
31
32size="8" /></td>
33 <td width="49"><input name="strMonth" type="text" id="strMonth" value="<%=월(현재
34
35())%>" size="5" /></td>
36 <td width="48"><input name="strDay" type="text" id="strDay" value="<%=Day(now())%>"
37
38size="5" /></td>
39 <td width="98"><input type="submit" name="제출" value="수정 날짜" /></td>
40 </tr>
41 </테이블>
42</form>
43
위 내용은 모두 구현된 코드입니다. 궁금한 사항이 있으면 QQ: 17020415로 추가해 주세요.
위 ASP 코드 페이지를 빈 ASP 파일에 붙여넣은 후 IIS에서 사이트를 설정하세요. (IIS 가상 디렉터리 설정도 가능합니다.)
http://www.cnblogs.com/lixyvip/archive/2006/09/02/492693.html