Hier, un ami a eu une demande pour modifier l'heure sur le serveur IIS via WEB. Puisque son système a été développé sous ASP 3.0, le code de cet exemple est ASP, pas ASP.NET, mais j'écris cet article. pour faire la lumière sur les choses. Après tout, la clé pour écrire un programme n'est pas le langage, mais plus important encore, une idée. Si vous comprenez le langage de programmation comme un outil et comprenez les idées de programmation comme des idées et des méthodes pour résoudre des problèmes, alors le Le programme que vous écrivez est le suivant : l'utilisation de « outils » est utilisée pour résoudre un problème en fonction des « idées » de résolution du problème.
Tout d'abord, je voudrais remercier l'internaute "Xiaohu". Je l'ai réécrit après avoir lu un article qu'il a écrit sur Internet sur l'utilisation de VB 6.0 pour écrire des composants DLL POUR ASP. Son code DLL n'a réalisé que des heures et des minutes de réécriture. années, mois, jour, deuxième modification.
Commencez par créer un projet Dll ActiveX dans VB 6.0. Les informations sont les suivantes :
Nom du projet : systimeset.
Nom du module de classe : timeset
Le code du module de classe de VB 6.0 est le suivant :
1Option explicite
2Heure système privée en tant qu'heure système
3Fonction de déclaration privée SetSystemTime()Function SetSystemTime Lib "kernel32" (lpSystemTime As SystemTime) As Long
4Heure système de type privé
5 wAnnée sous forme d'entier
6 wMois sous forme d'entier
7 wDayOfWeek sous forme d'entier
8 jours sous forme d'entier
9 heures sous forme d'entier
10 wMinute sous forme d'entier
11 wSeconde sous forme d'entier
12 wMillisecondes sous forme d'entier
13Type de fin
14
15Dim tmp
16
17Private m_Hour sous forme d'entier
18Private m_Minute sous forme d'entier
19Private m_Year sous forme d'entier
20Private m_Month sous forme d'entier
21Private m_Day sous forme d'entier
22Private m_Second sous forme d'entier
vingt-trois
24' Modifié par Li Xiyuan Date de modification : 2006-08-31 Élément de modification : Ajouter des opérations pour l'année, le mois, le jour et les secondes
25'--------------------
26'ans
27 Propriété publique Get()Property Get Year() sous forme d'entier
28Année = m_Année
29Fin de la propriété
30 Propriété publique Let () Propriété Let Year (tmp_Year As Integer)
31m_Année = tmp_Année
32Propriété de fin
33'--------------------
34' mois
35 Propriété publique Get()Property Get Month() sous forme d'entier
36Mois = m_Mois
37Fin de la propriété
38Propriété publique Let()Propriété Let Month(tmp_Month As Integer)
39m_Mois = tmp_Mois
40Fin de la propriété
41'-------------------
42' journée
43 Propriété publique Get()Property Get Day() sous forme d'entier
44Jour = m_Jour
45Propriété de fin
46 Propriété publique Let () Propriété Let Day (tmp_Day As Integer)
47m_Day = tmp_Day
48Fin de la propriété
49'-------------------
50' secondes
51 Propriété publique Get () Propriété Get Second () sous forme d'entier
52Seconde = m_Seconde
53Fin de la propriété
54Propriété publique Let()Propriété Let Second(tmp_Second As Integer)
55m_Seconde = tmp_Seconde
56Fin de la propriété
57
58
59
60 Propriété publique Get () Propriété Get Hour () sous forme d'entier
61Heure = m_Heure
62Propriété de fin
63 Propriété publique Let()Propriété Let Hour(tmp_Hour As Integer)
64m_Heure = tmp_Heure
65Propriété de fin
66 Propriété publique Get () Propriété Get Minute () sous forme d'entier
67Minute = m_Minute
68Fin Propriété
69Propriété publique Let()Propriété Let Minute(tmp_Minute As Integer)
70m_Minute = tmp_Minute
71Propriété de fin
72
73
74
75
76Configuration de la fonction publique()Configuration de la fonction() En tant qu'entier
77SystemTime.wDay = Jour
78'SystemTime.wDayOfWeek = 1
79SystemTime.wMillisecondes = 0
80SystemTime.wMonth = Mois
81SystemTime.wSecond = Seconde
82SystemTime.wYear = Année
83SystemTime.wHour = Heure
84SystemTime.wMinute = Minute
85setup = SetSystemTime(SystemTime)
86
87Fin de fonction
88
Compilez-le dans un fichier appelé systimeset.dll.
Concernant l'enregistrement de la DLL, VB enregistre généralement automatiquement la DLL après sa compilation sur la machine locale, mais si vous souhaitez la mettre sur le serveur IIS, veuillez utiliser la méthode suivante :
1. Copiez systimeset.dll dans c:WINDOWSsystem32 ;
2. Dans le menu Exécuter, entrez : regsvr32 systimeset.dll (appuyez sur Entrée)
3. Étant donné que le compte invité INTERNET n'a pas cette autorisation pour modifier l'heure du serveur, pour configurer les autorisations, veuillez ouvrir "Outils d'administration" dans le panneau de configuration, puis ouvrez "Politique de sécurité locale" - "Attribution des droits d'utilisateur", double- cliquez sur « Modifier l'heure du système », cliquez sur « Ajouter un utilisateur ou un groupe » dans la boîte de dialogue contextuelle et ajoutez le compte invité INETNET.
4. Une fois que tout est terminé, redémarrez le service IIS une fois.
Une fois les paramètres ci-dessus définis, la page de codes ASP utilisant le composant systimeset.dll est la suivante :
1<% @langue="vbscript" %>
2<%
3fonction SetTime(strYear,strMonth,strDay)
4response.Expire=0
5set obj=server.createobject("systimeset.timeset")
6 obj.Année=strAnnée
7 obj.Mois=strMois
8 obj.Day = strDay
9 si Heure(maintenant())-8>0 alors
10 obj.Hour=Heure(maintenant())-8
11 autres
12 obj.Heure=8
13 fin si
14 obj.Minute=Minute(maintenant())
15 obj.Second=Seconde(maintenant())
16obj.setup
17
18set obj=Rien
19fin de fonction
20
21if request("act")="modi" alors
22 appelez SetTime(request.Form("strYear"),request.Form("strMonth"),request.Form
vingt-trois
24("jourJour"))
25fin si
26%>
27<form id="form1" name="form1" method="post" action="?act=modi">
28 <table width="290" border="0">
29 <tr>
30 <td width="77"><input name="strYear" type="text" id="strYear" value="<%=Year(now())%>"
31
32taille="8" /></td>
33 <td width="49"><input name="strMonth" type="text" id="strMonth" value="<%=Mois (maintenant
34
35())%>" taille="5" /></td>
36 <td width="48"><input name="strDay" type="text" id="strDay" value="<%=Day(now())%>"
37
38taille="5" ></td>
39 <td width="98"><input type="submit" name="Submit" value="Date de modification" /></td>
40 </tr>
41 </table>
42</form>
43
Ce qui précède correspond à tout le code implémenté. Si vous avez des questions, veuillez m'ajouter à QQ : 17020415.
Collez la page de codes ASP ci-dessus dans un fichier ASP vide, puis configurez le site dans IIS. (Il est également possible de configurer un répertoire virtuel IIS.)
http://www.cnblogs.com/lixyvip/archive/2006/09/02/492693.html