Due script basici in Visual Basic
L’esempio N° 1 è relativamente semplice. Serve a creare la objShell e ad applicare il metodo .RegDelete.
Il secondo esempio è più complesso, e presenta codice per la correzione di piccoli errori. Per di più, crea un valore REG_SZ sostitutivo, equivalente a rinominare IsShortCut.
Esempio 1: sequenza basica per rimuovere le frecce dai collegamenti
Istruzioni- Preparazioni: per dare al vostro programma qualche possibilità di funzionare, create un collegamento. Per esempio, sul desktop. Click destro, nuovo, collegamento, e digitate "calc". Premete "avanti" e il collegamento è pronto, con la sua freccina.
- Copiate e incollate la stringa più sotto con notepad, oppure in un editor appostito, come per esempio “OnScript”.
- Salvate il file con l’estensione .vbs, per esempio "nofrecce.vbs"
- Fate doppio click sul file appena creato, e poi OK nella finestra che appare.
- Per capire meglio quel che accade al registro, raccomandiamo di lanciare regedit e di osservare la sezione strRoot.
- Per finire, uscite e rientrare in windows per vedere i cambiamenti.
' NoArrowEg1.vbs
' Example VBScript to remove arrows on shortcuts in XP
' and Windows 2003.
' Author Guy Thomas http: //computerperformance.co.uk
' Version 1.5 - March 2007
' ---------------------------------------------------------------'
'
Option Explicit
Dim objShell, strRoot, strRead, strDelete, strCreate
strRoot = "HKEY_CLASSES_ROOTlnkfileIsShortCut"
' Create the Shell object
Set objShell = CreateObject("WScript.Shell")
strDelete = objShell.RegDelete(strRoot)
WScript.Echo "Error No: " & err.number & " check " & strRoot
strDelete = null
WScript.Quit
' End of example script.
Cosa succede?
- Osservato come VBScript crea l’oggetto objShell, e poi come .RegDelete fa il suo lavoro sul registro.
- In VBScript HKEY_CLASSES_ROOT può essere abbreviato in HKCR. (Ci sono anche HKLM e HKCU). Sorprendentemente non possiamo usare HKCR o HKLM in un file .reg.
- Il metodo RegDelete cancella una voce dal registro, del tipo strName. Se il nome finisce con un backslash (), è trattato come una chiave, altrimenti come un valore.
- Per completezza, potreste volere trovare altre tracce di IsShortCut, per esempio in: HKCRpiffile e HKCRWSHFile.