Вчера у друга была просьба изменить время на сервере IIS через WEB. Поскольку его система была разработана под ASP 3.0, код в этом примере — ASP, а не ASP.NET, но я пишу эту статью просто так. Чтобы пролить свет на вещи. В конце концов, ключом к написанию программы является не язык, а, что более важно, идея. Если вы понимаете язык программирования как инструмент, а идеи программирования — как идеи и методы решения проблем, то Программа, которую вы пишете, такова: использование «Инструментов» используется для решения проблемы в соответствии с «идеями» решения проблемы.
Прежде всего, я хотел бы поблагодарить пользователя сети «Xiaohu». Я переписал его после прочтения статьи, которую он написал в Интернете об использовании VB 6.0 для написания компонентов DLL ДЛЯ ASP. Его код DLL реализовал переписывание только часов и минут. год, месяц, день, вторая модификация.
Сначала создайте проект ActiveX Dll в VB 6.0. Информация следующая:
Имя проекта: systimeset.
Имя модуля класса: timeset.
Код модуля класса VB 6.0 выглядит следующим образом:
1 вариант явный
2. Частное системное время как системное время
3. Частное объявление функции SetSystemTime () Функция SetSystemTime Lib «kernel32» (lpSystemTime As SystemTime) как долго
4. Системное время частного типа
5 лет в виде целого числа
6 wMonth как целое число
7 wDayOfWeek как целое число
8 дней в виде целого числа
9 часов как целое число
10 минут как целое число
11 wSecond как целое число
12 wмиллисекунд как целое число
13Конечный тип
14
15Температурный режим
16
17Private m_Hour как целое число
18Private m_Minute As Integer
19Private m_Year как целое число
20Private m_Month как целое число
21Private m_Day как целое число
22Private m_Second As Integer
двадцать три
24' Изменено Ли Сиюанем. Дата изменения: 31 августа 2006 г. Элемент модификации: добавление операций для года, месяца, дня и секунд.
25'--------------------
26 лет
27. Public Property Get(). Property Get Year() как целое число.
28Год = м_Год
29Конечная собственность
30Public Property Let()Property Let Year(tmp_Year As Integer)
31m_Year = tmp_Year
32Конечная собственность
33'--------------------
34 месяца
35. Открытое свойство Get(). Свойство Get Month() как целое число.
36Месяц = m_Месяц
37Конечная собственность
38. Публичное свойство Let(). Свойство Let Month (tmp_Month как целое число).
39m_Month = tmp_Month
40Конечная собственность
41'--------------------
42 дня
43Public Property Get()Property Get Day() как целое число
44День = м_День
45Конечная собственность
46Public Property Let()Property Let Day(tmp_Day As Integer)
47m_Day = tmp_Day
48Конечная собственность
49'--------------------
50 секунд
51. Публичное свойство Get(). Свойство Get Second() как целое число.
52Секунда = м_Секунда
53Конечная недвижимость
54Public Property Let()Property Let Second(tmp_Second As Integer)
55m_Second = tmp_Second
56Конечная собственность
57
58
59
60. Публичная собственность Get()Property Get Hour() как целое число
61Час = м_Час
62Конечная собственность
63Public Property Let()Property Let Hour(tmp_Hour As Integer)
64m_Hour = tmp_Hour
65Конечная собственность
66. Открытое свойство Get(). Свойство Get Minute() как целое число.
67Минута = m_Минута
68Конечная собственность
69Публичное свойство Let()Property Let Minute(tmp_Minute As Integer)
70m_Minute = tmp_Minute
71Конечная недвижимость
72
73
74
75
76Настройка публичной функции()Настройка функции() Как целое число
77SystemTime.wDay = День
78'SystemTime.wDayOfWeek = 1
79SystemTime.wMilliсекунды = 0
80SystemTime.wMonth = Месяц
81SystemTime.wSecond = Секунда
82SystemTime.wYear = Год
83SystemTime.wHour = Час
84SystemTime.wMinute = Минута
85setup = SetSystemTime(SystemTime)
86
87Конец функции
88
Скомпилируйте его в файл systimeset.dll.
Что касается регистрации DLL, обычно VB автоматически регистрирует DLL после ее компиляции на локальном компьютере, но если вы хотите разместить ее на сервере IIS, используйте следующий метод:
1. Скопируйте systimeset.dll в c:WINDOWSsystem32;
2. В меню «Выполнить» введите: regsvr32 systimeset.dll (нажмите Enter)
3. Поскольку гостевая учетная запись ИНТЕРНЕТА не имеет разрешения на изменение времени сервера, для настройки разрешений откройте «Инструменты администрирования» на панели управления, затем откройте «Локальная политика безопасности» — «Назначение прав пользователя», дважды нажмите «Изменить системное время», во всплывающем диалоговом окне нажмите «Добавить пользователя или группу» и добавьте гостевую учетную запись INETNET.
4. После того, как все будет выполнено, перезапустите службу IIS один раз.
После завершения вышеуказанных настроек кодовая страница ASP, использующая компонент systimeset.dll, будет иметь следующий вид:
1<% @language="vbscript" %>
2<%
3функция SetTime(strYear,strMonth,strDay)
4response.Expires=0
5set obj=server.createobject("systimeset.timeset")
6 obj.Year=strYear
7 obj.Month=strMonth
8 obj.Day=strDay
9, если Час(сейчас())-8>0, то
10 obj.Hour=Час(сейчас())-8
еще 11
12 объектов.Час=8
13 конец, если
14 obj.Minute=Минута(сейчас())
15 obj.Second=Секунда(сейчас())
16obj.setup
17
18set obj=Ничего
19конечная функция
20
21если запрос("акт")="моди" тогда
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" граница="0">
29 <тр>
30 <td width="77"><input name="strYear" type="text" id="strYear" value="<%=Year(now())%>"
31
32size="8" /></td>
33 <td width="49"><input name="strMonth" type="text" id="strMonth" value="<%=Month(сейчас
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="Submit" value="дата изменения" /></td>
40 </tr>
41 </таблица>
42</форма>
43
Вышеупомянутый код представляет собой весь реализованный код. Если у вас есть какие-либо вопросы, добавьте меня по номеру QQ: 17020415.
Вставьте приведенную выше кодовую страницу ASP в пустой файл ASP, а затем настройте сайт в IIS. (Также возможно настроить виртуальный каталог IIS.)
http://www.cnblogs.com/lixyvip/archive/2006/09/02/492693.html