Due script basici in Visual Basic

Ecco una simpatica guida su come rimuovere la freccina dalle icone dei collegamenti. É anche un'occasione per avvicinare i più curiosi a un linguaggio di programmazione.

Avatar di Tom's Hardware

a cura di Tom's Hardware

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?

  1. Osservato come VBScript crea l’oggetto objShell, e poi come .RegDelete fa il suo lavoro sul registro.
  2. 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.
  3. 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.
  4. Per completezza, potreste volere trovare altre tracce di IsShortCut, per esempio in: HKCRpiffile e HKCRWSHFile.
Leggi altri articoli