Astuces sous Visual Basic
07/09/2000
 Patrick ABATI 
Liste des cours

Comment faire pour...       


 Arrêter, redémarrer, connecter, déconnecter 

Utiliser l'API de Windows : ExitWindowsEx

Il faut d'abord déclarer la fonction et les constantes:
Declare Function ExitWindowsEx& Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long)
Public Const EWX_FORCE = 4, EWX_LOGOFF = 0, EWX_REBOOT = 2, EWX_SHUTDOWN = 1

puis:
ExitWindowsEx EWX_REBOOT, 0 pour redémarrer l'ordinateur
ExitWindowsEx EWX_SHUTDOWN, 0 pour arrêter l'ordinateur
ExitWindowsEx EWX_LOGOFF, 0 pour une connexion ou déconnexion réseau


 Inhiber Ctrl-Alt-Suppr 

Utiliser l'API de Windows : SystemParametersInfo

Il faut d'abord déclarer la fonction:
Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long

puis:
Call SystemParametersInfo(97, True, "1", 0) pour désactiver les touches Ctrl-Alt-Suppr
Call SystemParametersInfo(97, False, "1", 0) pour activer les touches Ctrl-Alt-Suppr


 Cacher la barre des tâches 

Utiliser les API de Windows : FindWindow et ShowWindow

Il faut d'abord déclarer les fonctions:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

puis:
X = ShowWindow(FindWindow("Shell_TrayWnd", vbNullString), 0) pour masquer la barre
X = ShowWindow(FindWindow("Shell_TrayWnd", vbNullString), 1) pour montrer la barre


 Envoyer un courrier électronique 

Utiliser l' API de Windows : ShellExecute

Il faut d'abord déclarer la fonction:
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

puis:
ShellExecute 0, "open", "mailto:utilisateur@aol.com?", "", "", vbNormalFocus


 Intégrer un gif animé sur une feuille 

gif

Il faut ajouter au projet le composant:
"Microsoft HTML Object Library"

puis ajouter à la feuille le contrôle:
"Scriptlet"

puis remplir la propriété URL de cet objet en donnant le chemin d'accès complet du fichier .gif par exemple: file://C:\gif\travaux.gif

Télécharger un exemple  zip (32 Ko)
L'exemple doit être téléchargé et décompressé dans le répertoire C:\GIF


 Obtenir le n° de volume d'un disque 

Utiliser l' API de Windows : GetVolumeInformation

Il faut d'abord déclarer la fonction:
Private Declare Function GetVolumeInformation Lib "kernel32.dll" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long

puis:
x = GetVolumeInformation("A:\", lpVolumeNameBuffer, nVolumeNameSize, NumeroSerie, lpMaximumComponentLength, lpFileSystemFlags, lpFileSystemNameBuffer, nFileSystemNameSize)

où NumeroSerie est la variable renvoyant le numéro de série du disque A.


 Faire un dégradé de couleur sur une feuille 

Insérer dans la feuille le code suivant:

Dim Rouge(0 To 255), Vert(0 To 255), Bleu(0 To 255)

Private Sub Form_Load()
For k = 0 To 255
Bleu(k) = k
Next k
End Sub

Private Sub Form_Paint()
Me.Scale (0, 0)-(256, 1)
For i = 0 To 255
Couleur = RGB(Rouge(i), Vert(i), Bleu(i))
Me.Line (i, 0)-(i + 1, 1), Couleur, BF
Next i
End Sub


 Obtenir l'adresse IP 

Tout ordinateur relié à Internet possède une adresse IP, composée de 4 octets, soit 32 bits. Le nombre d'adresses IP différentes est de 232 = 4 294 967 296.

1

0

0

0

0

0

0

1

..............................

129

0

0

0

1

1

0

0

1

..............................

25

1

1

0

0

0

0

0

0

..............................

192

0

0

0

0

0

0

1

1

..............................

3


L'adresse est exprimée en décimal: 129 . 25 . 192 . 3

Télécharger le programme SOURCE zip (9 Ko)


 Conversion 

Il s'agit de convertir un nombre décimal compris entre 0 et 4095 en une suite de 2 octets (poids fort sur 4 bits et poids faible sur 8 bits) dans le but de piloter une carte analogique 12 bits.

Télécharger le programme SOURCE zip (2 Ko)


 Feuille arrondie 

Utiliser les API de Windows : CreateRoundRectRgn et SetWindowRgn

arrondie

Télécharger le programme SOURCE zip (2 Ko)



Voir aussi:
Gestion des entrées/sorties
Importation de données Excel