Setelah membaca ini, Anda dapat menggunakan asp untuk memodifikasi registri!
Pernahkah Anda mendengar tentang WSH yang terkenal? Ini adalah singkatan dari Windows Script Host. WSH adalah instruksi skrip untuk platform Windows. Fungsinya sangat kuat, dan juga menggunakan bahasa skrip JScript dan VBScript dengan sintaksis yang sederhana, mudah dipelajari dan digunakan, serta fungsi yang kuat untuk digunakan. mencapai fungsinya yang luar biasa. Selain memodifikasi registri yang diperkenalkan dalam artikel ini, ia juga dapat mengakses file Excel dan berkomunikasi dengan jaringan. Tentu saja, keuntungan terbesarnya adalah dapat berkomunikasi dengan sistem operasi, dan hanya memodifikasi registri cara untuk berkomunikasi dengan sistem operasi. Karena banyaknya kelebihan dan kepraktisan sehingga disukai oleh banyak pengguna Windows. Artikel ini akan memperkenalkannya kepada Anda agar Anda dapat mengapresiasi keanggunan WSH.
Ekstensi file program WSH yang ditulis dalam VBScript adalah .vbs. Skrip program ditafsirkan dan dijalankan oleh file wscript.exe di antarmuka jendela dan oleh file cscript.exe di antarmuka karakter .kata kerja
Untuk membuat objek dan menggunakan VBScript untuk memodifikasi registri, Anda harus terlebih dahulu membuat objek yang dapat berkomunikasi dengan sistem operasi, kemudian menggunakan berbagai metode objek untuk mengoperasikan registri. Metode dan format pembuatan objek tersebut adalah sebagai berikut :
Redupkan OperationRegistry
Setel OperationRegistry=WScript.CreateObject("WScript.Shell")
Kode di atas membuat objek OperationRegistry yang dapat berkomunikasi dengan sistem operasi.
Metode objek Memiliki objek di atas tidak berarti kita dapat langsung mengoperasikan registri. Kita juga harus memahami beberapa metode penting objek ini untuk mengoperasikan registri.
1. Operasi RegRead untuk membaca registri
2. Operasi penulisan RegWrite ke registry
3. Operasi penghapusan RegDelete pada registry
Selain itu, WSH juga mempunyai dua metode umum:
WScript.Echo() digunakan untuk menampilkan string informasi teks, yang setara dengan MsgBox() di VB.
Wscript.Quit() digunakan untuk keluar dari program VBScript.
Parameter metode memerlukan parameter untuk tiga operasi di atas RegRead, RegWrite, dan RegDelete, dan jumlah serta bentuk parameter untuk operasi ini berbeda.
Parameter ini bisa disebut "parameter jalur", yang mencakup kunci root, jalur kunci utama, dan nilai kunci. Metode ekspresi setiap bagian adalah sebagai berikut:
Kunci akar:
Ada dua cara untuk merepresentasikan kunci root.
Metode 1: Langsung gunakan stringnya di registri untuk mewakilinya, seperti:
HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, dll. Metode 2: Gunakan empat huruf singkatan untuk mewakilinya. menyukai:
Kunci root HKEY_CLASSES_ROOT dinyatakan sebagai: HKCR, kunci root HKEY_CURRENT_USER dapat dinyatakan sebagai: HKCU, dll.
Jalur kunci utama:
Jalur kunci utama adalah lokasi kunci utama dari kunci target dalam registri, dan setiap kunci utama dipisahkan oleh karakter "". Misalnya: "Perangkat LunakMicrosoftWindowsCurrentVersionPolicies"
Nilai kunci:
Parameter nilai kunci mengikuti jalur kunci utama secara langsung. Misalnya, jalur lengkapnya terlihat seperti ini:
"HKCRSoftwareMicrosoftWindowsCurrentVersionPoliciesNoRun"
Penjelasan rinci tentang metode
1. Interpretasi mendetail dari operasi RegRead. Operasi RegRead terutama digunakan untuk membaca nilai default atau data nilai kunci dari kunci utama dalam registri. Kita dapat mengirim data yang dibaca ke variabel yang sesuai dan kemudian menggunakan fungsi MsgBox() di VB. Menampilkan data mencapai tujuan membaca data di registri (Anda juga dapat menggunakan metode Popup() dari objek OperationRegistry untuk mengirim data yang dibaca ke layar), misalnya:
'read.vbs (simpan kode berikut sebagai file read.vbs)
Redupkan OperationRegistry
Setel OperationRegistry=WScript.CreateObject("WScript.Shell")
Redupkan Read_Data1,Read_Data2
Read_Data1=OperationRegistry.RegRead("HKCR.xxf")
'Baca nilai default kunci utama .xxf di bawah kunci root HKEY_CLASSES_ROOT, dan kirim data ke variabel Read_Data1
Read_Data2=OperationRegistry.RegRead("HKCR.xxfvalue")
'Baca data kunci nilai di bawah kunci utama .xxf dan kirim data ke variabel Read_Data2
MsgBox("Default="&Read_Data1&" value="&Read_Data2)
'Menampilkan data yang dibaca
2. Penjelasan rinci tentang operasi RegWrite. Operasi tulis RegWrite terutama digunakan untuk membuat kunci utama atau nilai kunci baru dalam registri dan memberinya nilai awal. Operasi ini juga dapat mengubah data kunci utama atau nilai kunci yang ada di registri. , sehingga struktur parameter operasi tulis lebih rumit daripada operasi baca. Ini tidak hanya memerlukan parameter jalur, tetapi juga nilai awal dan parameter tipe.
Mari kita lihat parameter nilai awal terlebih dahulu. Parameter ini penting untuk operasi penulisan. Parameter ini boleh kosong (null) tetapi tidak dapat dihilangkan. Saat membuat kunci utama baru, parameter nilai awal ditetapkan ke nilai default kunci utama. Saat membuat nilai kunci baru, parameter nilai awal menjadi data awal dari nilai kunci baru ditentukan oleh parameter tipe. Terutama ada tiga jenis:
(1)REG_SZ: Tipe karakter
(2)REG_DWORD: tipe byte ganda.
(3)REG_BINARY: tipe biner.
Tipe pertama dan kedua dari ketiga tipe di atas adalah yang paling umum digunakan. Tipe ketiga dapat diganti dengan tipe kedua dalam beberapa situasi. Metode penugasan ketiga tipe ini adalah sebagai berikut:
Untuk tipe REG_SZ: tetapkan langsung dengan string, seperti "teks", "string", dll. Untuk tipe REG_DWORD dan tipe REG_BINARY, ada dua metode penugasan.
i) Dinyatakan langsung dengan angka desimal, seperti: 0, 1, dst.
ii) Dinyatakan dengan bilangan heksadesimal, seperti: 0x12, 0xff, dst. Lihat contoh:
'tulis.vbs
Redupkan OperationRegistry
Setel OperationRegistry=WScript.CreateObject("WScript.Shell")
Default=OperationRegistry.RegRead("HKCR")
'Dapatkan nilai nol (null)
OperationRegistry.RegWrite "HKCR.xxf",Default
'Buat key.xxf primer baru di bawah kunci root HKEY_CLASSES_ROOT, dan atur nilai defaultnya menjadi kosong
OperationRegistry.RegWrite "HKCR.xxf",,"xxffile"
'Buat kunci utama baru .xxf di bawah kunci root HKEY_CLASSES_ROOT dan atur nilai defaultnya ke "xxffile"
OperationRegistry.RegWrite "HKCR.xxfvalue1","string"
'Buat nilai kunci string baru value1 di bawah kunci utama.xxf, dan atur nilai awalnya menjadi "string"
OperationRegistry.RegWrite "HKCR.xxfvalue2",1,"REG_DWORD"
'Buat nilai kunci REG_DWORD baru value2 di bawah kunci utama.xxf, dan atur nilai awalnya menjadi 1
OperationRegistry.RegWrite "HKCR.xxfvalue3",0Xff,"REG_BINARY"
'Buat nilai kunci biner baru value3 di bawah kunci utama .xxf, dan atur nilai awalnya menjadi heksadesimal ff
3. Penjelasan rinci tentang operasi RegDelete. Operasi penghapusan RegDelete terutama digunakan untuk menghapus kunci utama atau nilai kunci yang sudah ada di registri registri. "Chop off" akan bekerja tanpa hambatan tidak peduli betapa pentingnya data di bawah kunci, jadi berhati-hatilah saat menggunakan operasi ini.
Bentuk parameter operasi hapus hampir sama dengan bentuk parameter operasi baca, kecuali satu perbedaan kecil yaitu operasi hapus tidak perlu mengirimkan nilai kembalian operasi ke variabel tertentu, misalnya:
'hapus.vbs
Redupkan OperationRegistry
Setel OperationRegistry=WScript.CreateObject("WScript.Shell")
OperationRegistry.RegRead("HKCR.xxfvalue")
'Hapus nilai kunci nilai di bawah kunci utama .xxf
OperationRegistry.RegRead("HKCR.xxf")
'Hapus primary key .xxf di bawah root key HKEY_CLASSES_ROOT. Perlu ditekankan agar jangan mengubah primary key atau nilai kunci yang sudah ada di registry, apalagi menghapusnya, karena kesalahan penulisan atau penghapusan. registrinya serius. Ini akan menyebabkan sistem crash! Jika Anda benar-benar ingin melakukan ini, harap buat cadangan registri.
Contoh aplikasi
1. Baca "nama komputer" mesin ini
'BacaNama Komputer.vbs
Redupkan ReadComputerName
Setel ReadComputerName=WScript.CreateObject("WScript.Shell")
Redupkan Nama Komputer, RegPath
RegPath="HKLMSystemCurrentControlSetControlComputerNameComputerNameComputerName"
ComputerName=BacaNamaKomputer.RegRead(RegPath)
MsgBox("Nama Komputer"&Nama Komputer)
2. Sembunyikan panah kecil pada ikon pintasan
'Tersembunyi.vbs
Redupkan Ikon Panah Tersembunyi
Setel HiddenArrowIcon=WScript.CreateObject("WScript.Shell")
Redupkan RegPath1,RegPath2
RegPath1="HKCRlnkfileIsShortCut"
RegPath2="HKCRpiffileIsShortCut"
HiddenArrowIcon.RegDelete(RegPath1)
HiddenArrowIcon.RegDelete(RegPath2)
3. Ubah menu “Start”.
'UbahStartMenu.vbs
DimChangeStartMenu
Setel ChangeStartMenu=WScript.CreateObject("WScript.Shell")
RegPath="HKCRSoftwareMicrosoftWindowsCurrentVersionPolicies"
Ketik_Nama="REG_DWORD"
Kunci_Data=1
StartMenu_Run="Tanpa Jalankan"
StartMenu_Find="Tidak Ada"
StartMenu_Close="Tidak AdaTutup"
SubPerubahan(Argumen)
UbahStartMenu.RegWrite RegPath&Argumen,Key_Data,Type_Name
MsgBox("Sukses!")
Akhiri Sub
Call Change(StartMenu_Run) 'Nonaktifkan fungsi "Run" di menu "Start".
Ubah Panggilan(StartMenu_Find) 'Nonaktifkan fungsi "Temukan" di menu "Mulai".
Perubahan Panggilan(StartMenu_Close) 'Nonaktifkan fungsi "Shutdown System" di menu "Start"
4. Tambahkan program self-starting ke Windows. Program ini dapat berjalan secara otomatis saat komputer dihidupkan.
'TambahkanAutoRunProgram.vbs
'Asumsikan program tersebut ada di folder c:myfile dan nama filenya adalah autorun.exe
Redupkan Program AutoRun
Setel AutoRunProgram=WScript.CreateObject("WScript.Shell")
RegPath="HKLMSoftwareMicrosoftWindowsCurrentVersionRun"
Ketik_Nama="REG_SZ"
Key_Name="Jalankan Otomatis"
Key_Data="C:File Sayaautorun.exe"
'Nama file jalur lengkap dari program yang memulai sendiri
AutoRunProgram.Tulis RegPath&Key_Name,Key_Data,Type_Name
'Tambahkan program autorun.exe yang memulai sendiri di grup startup
MsgBox("Sukses!")