بالأمس، طلب أحد الأصدقاء تعديل الوقت على خادم IIS من خلال WEB. وبما أن نظامه تم تطويره تحت ASP 3.0، فإن الكود في هذا المثال هو ASP، وليس ASP.NET، لكنني أكتب هذه المقالة فقط لإلقاء بعض الضوء على الأشياء، فإن مفتاح كتابة البرنامج ليس اللغة، ولكن الأهم من ذلك، الفكرة البرنامج الذي تكتبه هو: استخدام "الأدوات" المستخدمة لحل مشكلة ما حسب "أفكار" حل المشكلة.
بادئ ذي بدء، أود أن أشكر مستخدم الإنترنت "Xiaohu" الذي قمت بإعادة كتابته بعد قراءة مقال كتبه على الإنترنت حول استخدام VB 6.0 لكتابة مكونات DLL لـ ASP، ولم يتحقق سوى ساعات ودقائق من إعادة الكتابة سنة، شهر، يوم، التعديل الثاني.
أولاً، قم بإنشاء مشروع ActiveX Dll في VB 6.0. المعلومات كما يلي:
اسم المشروع: systimeset
اسم الوحدة النمطية للفئة: timeset
رمز الوحدة النمطية للفئة VB 6.0 هو كما يلي:
1 الخيار صريح
2SystemTime الخاص كـ SystemTime
3. إعلان خاص عن الدالة SetSystemTime ()Function SetSystemTime Lib "kernel32" (lpSystemTime كـ SystemTime) طالما
4 نوع خاص وقت النظام
5 سنوات كعدد صحيح
6 شهر كعدد صحيح
7 wDayOfWeek كعدد صحيح
8 wDay كعدد صحيح
9 ساعة كعدد صحيح
10 دقيقة كعدد صحيح
11 ثانية كعدد صحيح
12 مللي ثانية كعدد صحيح
13 نوع النهاية
14
15ديم تمب
16
17m_Hour خاصة كعدد صحيح
18m_Minute خاصة كعدد صحيح
19السنة الخاصة كعدد صحيح
20شهر خاص كعدد صحيح
21m_Day خاص كعدد صحيح
22m_Second خاص كعدد صحيح
ثلاثة وعشرين
24' تم التعديل بواسطة Li Xiyuan تاريخ التعديل: 2006-08-31 عنصر التعديل: إضافة عمليات للسنة والشهر واليوم والثواني
25'--------------------
26' سنة
27. احصل على الملكية العامة () احصل على الملكية () كعدد صحيح
28 سنة = سنة
29 نهاية الملكية
30اسم العقار العام ()اسم العقار المسموح به (tmp_Year كعدد صحيح)
31m_Year = tmp_Year
32 نهاية الملكية
33'--------------------
34' شهرا
35. احصل على الملكية العامة () احصل على الخاصية شهر () كعدد صحيح
36 شهر = شهر_شهر
37 نهاية الملكية
38اسم العقار العام ()اسم العقار الشهري (tmp_Month كعدد صحيح)
39m_Month = tmp_Month
40 نهاية الملكية
41'--------------------
42' يوم
43. احصل على الملكية العامة () احصل على الخاصية يوم () كعدد صحيح
44Day = m_Day
45 نهاية الملكية
46. السماح للملكية العامة () بيوم السماح بالملكية (tmp_Day كعدد صحيح)
47m_Day = tmp_Day
48 نهاية الملكية
49'--------------------
50 ثانية
51. احصل على الملكية العامة () احصل على الخاصية الثانية () كعدد صحيح
52 ثانية = م_ ثانية
53 نهاية الملكية
54. الملكية العامة Let() الخاصية Let Second(tmp_Second كعدد صحيح)
55m_Second = tmp_Second
56 نهاية الملكية
57
58
59
60الملكية العامة احصل على () الخاصية احصل على ساعة () كعدد صحيح
61 ساعة = م_ساعة
62 نهاية الملكية
63. الملكية العامة () - ساعة السماح للملكية (tmp_Hour كعدد صحيح)
64m_Hour = tmp_Hour
65 نهاية الملكية
66. احصل على الملكية العامة () احصل على الخاصية دقيقة () كعدد صحيح
67 دقيقة = دقيقة
68 نهاية الملكية
69دع الملكية العامة ()دقيقة السماح للملكية (tmp_Minute كعدد صحيح)
70m_Minute = tmp_Minute
71 نهاية الملكية
72
73
74
75
76 إعداد الوظيفة العامة () إعداد الوظيفة () كعدد صحيح
77SystemTime.wDay = يوم
78'SystemTime.wDayOfWeek = 1
79SystemTime.w ميلي ثانية = 0
80SystemTime.wMonth = شهر
81SystemTime.wSecond = الثانية
82SystemTime.wYear = Year
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)
4الاستجابة.انتهاء الصلاحية=0
5set obj=server.createobject("systimeset.timeset")
6 obj.Year=strYear
7 obj.Month=strMonth
8 obj.Day=strDay
9 إذا كانت Hour(now())-8>0 إذن
10 obj.Hour=Hour(now())-8
11 آخر
12 obj.Hour=8
13 نهاية إذا
14 obj.Minute=Minute(now())
15 obj.Second=Second(now())
16obj.setup
17
18set obj=لا شيء
19 وظيفة النهاية
20
21if request("act")="modi" إذن
22 استدعاء SetTime(request.Form("strYear"),request.Form("strMonth"),request.Form
ثلاثة وعشرين
24("سترداي"))
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
32الحجم = "8" /></td>
33 <td width="49"><input name="strMonth" type="text" id="strMonth" value="<%=Month(now)
34
35())%>" size="5" /></td>
36 <td width="48"><input name="strDay" type="text" id="strDay" value="<%=Day(now())%>"
37
38الحجم = "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