Kemarin, seorang teman mendapat permintaan untuk mengubah waktu di server IIS melalui WEB. Karena sistemnya dikembangkan di bawah ASP 3.0, kode dalam contoh ini adalah ASP, bukan ASP.NET, tetapi saya menulis artikel ini hanya ingin untuk menjelaskan beberapa hal. Bagaimanapun, kunci untuk menulis sebuah program bukanlah bahasa, tetapi yang lebih penting, sebuah ide. Jika Anda memahami bahasa pemrograman sebagai alat, dan memahami ide pemrograman sebagai ide dan metode untuk memecahkan masalah, maka program yang Anda tulis adalah: menggunakan "Tools" yang digunakan untuk menyelesaikan suatu masalah sesuai dengan "ide" penyelesaian masalah tersebut.
Pertama-tama, saya ingin mengucapkan terima kasih kepada netizen "Xiaohu". Saya menulis ulang setelah membaca artikel yang dia tulis di Internet tentang penggunaan VB 6.0 untuk menulis komponen DLL UNTUK ASP. Kode DLL-nya hanya menyadari penulisan ulang jam dan menit tahun, bulan, hari, modifikasi kedua.
Pertama, buat proyek ActiveX Dll di VB 6.0 Informasinya sebagai berikut:
Nama proyek: systimeset
Nama modul kelas: timeset
Kode modul kelas VB 6.0 adalah sebagai berikut:
1Opsi Eksplisit
2SystemTime Pribadi Sebagai SystemTime
3Private Declare Function SetSystemTime()Function SetSystemTime Lib "kernel32" (lpSystemTime As SystemTime) Selama
4Waktu Sistem Tipe Pribadi
5 tahun Sebagai Integer
6 wBulan Sebagai Integer
7 wDayOfWeek Sebagai Integer
8 hari Sebagai Integer
9 jam sebagai bilangan bulat
10 wMenit Sebagai Integer
11 wKedua Sebagai Integer
12 wMilidetik Sebagai Integer
13Jenis Akhir
14
15Redupkan tmp
16
17M_Hour Pribadi Sebagai Integer
18M_Minute Pribadi Sebagai Integer
19M_Tahun Pribadi Sebagai Integer
20M_Bulan Pribadi Sebagai Integer
21M_Day Pribadi Sebagai Integer
22Private m_Second Sebagai Integer
dua puluh tiga
24' Dimodifikasi oleh Li Xiyuan Tanggal modifikasi: 31-08-2006 Item modifikasi: Tambahkan operasi untuk tahun, bulan, hari, dan detik
25'-----------------------------------
26' tahun
27Properti Publik Dapatkan()Properti Dapatkan Tahun() Sebagai Integer
28Tahun = m_Tahun
29 Properti Akhir
30Properti Publik Let()Property Let Year(tmp_Year As Integer)
31m_Tahun = tmp_Tahun
32 Properti Akhir
33'-----------------------------------
34' bulan
35Properti Publik Dapatkan()Properti Dapatkan Bulan() Sebagai Integer
36Bulan = m_Bulan
37 Properti Akhir
38Properti Publik Let()Property Let Month(tmp_Month Sebagai Integer)
39m_Bulan = tmp_Bulan
40 Properti Akhir
41'-----------------------------------
hari ke-42
43Dapatkan Properti Publik()Properti Dapatkan Hari() Sebagai Integer
44Hari = m_Hari
45 Properti Akhir
46Properti Publik Let()Property Let Day(tmp_Day Sebagai Integer)
47m_Hari = tmp_Hari
48 Properti Akhir
49'--------------------
50' detik
51Properti Publik Dapatkan()Properti Dapatkan Kedua() Sebagai Integer
52Kedua = m_Kedua
53 Properti Akhir
54Properti Publik Let()Properti Let Second(tmp_Second Sebagai Integer)
55m_Second = tmp_Second
56Properti Akhir
57
58
59
60Public Property Get()Property Get Hour() Sebagai Integer
61Jam = m_Jam
62 Properti Akhir
63Properti Publik Let()Property Let Hour(tmp_Hour Sebagai Integer)
64m_Jam = tmp_Jam
65 Properti Akhir
66Properti Publik Dapatkan()Properti Dapatkan Menit() Sebagai Integer
67Menit = m_Menit
68 Properti Akhir
69Properti Publik Let()Properti Let Minute(tmp_Minute Sebagai Integer)
70m_Menit = tmp_Menit
71 Properti Akhir
72
73
74
75
76Pengaturan Fungsi Publik()Pengaturan fungsi() Sebagai Integer
77SystemTime.wDay = Hari
78'SystemTime.wDayOfWeek = 1
79SystemTime.wMillidetik = 0
80SystemTime.wMonth = Bulan
81SystemTime.wSecond = Detik
82SystemTime.wYear = Tahun
83SystemTime.wHour = Jam
84SystemTime.wMinute = Menit
85setup = SetSystemTime(SystemTime)
86
87Fungsi Akhir
88
Kompilasi ke dalam file bernama systimeset.dll.
Mengenai registrasi DLL, biasanya VB akan otomatis mendaftarkan DLL setelah dikompilasi di mesin lokal, namun jika ingin meletakkannya di server IIS, silakan gunakan cara berikut:
1. Salin systimeset.dll ke c:WINDOWSsystem32;
2. Di menu run, masukkan: regsvr32 systimeset.dll (tekan Enter)
3. Karena akun tamu INTERNET tidak memiliki izin untuk mengubah waktu server, untuk mengatur izin, silakan buka "Alat Administratif" di panel kontrol, lalu buka "Kebijakan Keamanan Lokal" - "Penetapan Hak Pengguna", ganda- klik "Ubah Waktu Sistem" ”, klik “Tambah Pengguna atau Grup” di kotak dialog pop-up, dan tambahkan akun tamu INETNET.
4. Setelah semuanya selesai, restart layanan IIS satu kali.
Setelah pengaturan di atas selesai, halaman kode ASP menggunakan komponen systimeset.dll adalah sebagai berikut:
1<% @bahasa="vbscript" %>
2<%
3 fungsi SetTime (strYear,strMonth,strDay)
4respons.Kedaluwarsa=0
5set obj=server.createobject("systimeset.timeset")
6 objek.Tahun=strTahun
7 objek.Bulan=strBulan
8 objek.Hari=strHari
9 jika Jam(sekarang())-8>0 lalu
10 obj.Jam=Jam(sekarang())-8
11 lainnya
12 objek.Jam=8
13 berakhir jika
14 obj.Menit=Menit(sekarang())
15 obj.Second=Kedua(sekarang())
16obj.setup
17
18set objek=Tidak ada
fungsi 19 akhir
20
21jika permintaan("bertindak")="modi" maka
22 panggilan SetTime(request.Form("strYear"),request.Form("strMonth"),request.Form
dua puluh tiga
24("hari str"))
25akhir jika
26%>
27<form id="form1" name="form1" method="post" action="?act=modi">
28 <lebar tabel="290" perbatasan="0">
29<tr>
30 <td width="77"><input name="strYear" type="text" id="strYear" value="<%=Tahun(sekarang())%>"
31
32ukuran="8" /></td>
33 <td width="49"><input name="strMonth" type="text" id="strMonth" value="<%=Bulan(sekarang
34
35())%>" ukuran="5" /></td>
36 <td width="48"><input name="strDay" type="text" id="strDay" value="<%=Hari(sekarang())%>"
37
38ukuran="5" /></td>
39 <td width="98"><input type="submit" name="Submit" value="Tanggal modifikasi" /></td>
40</tr>
41 </tabel>
42</bentuk>
43
Di atas adalah semua kode yang diterapkan. Jika Anda memiliki pertanyaan, silakan tambahkan saya di QQ: 17020415.
Tempel halaman kode ASP di atas ke dalam file ASP kosong, lalu atur situs di IIS. (Dimungkinkan juga untuk menyiapkan direktori virtual IIS.)
http://www.cnblogs.com/lixyvip/archive/2006/09/02/492693.html