Bonjour, je m'appelle Jérémy, je suis nouveau sur le forum. Mon niveau est grand débutant, mais je commence à comprendre certaines choses. En m’apprêtant à créer une petite application (c'est mon premier programme) en Visual Basic, je souhaiterai récupérer la valeur de la clé "PrinterOnLine" DWORD qui aurait pour valeur 0x00000000 ou 0x00000001, (c'est l'état de mon imprimante allumée ou éteinte) et si possible l'afficher dans un labelbox ?
ou si vous connaissez un moyen de récupérer l'état de mon imprimante sans passer par le registre ? et en notifiant bourrage papier etc
Le problème c'est que malgré le bricolage dans tout les sens de ce code,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Dim rk As Microsoft.Win32.RegistryKey = My.Computer.Registry.CurrentConfig Dim rksub As Microsoft.Win32.RegistryKey = rk.OpenSubKey("\System\CurrentControlSet\Control\Print\Printers\EPSON SX230 Series", True) Dim registryValue As String = CType(rksub.GetValue("PrinterOnLine", Microsoft.Win32.RegistryValueKind.DWord), String) Dim regIMP = registryValue If regIMP = "1" Then REM Dim d1 As New StringDigitSubstitute = C(regIMP.GetValue("PrinterOnLine")) LabelE2.Text = "En ligne" & regIMP Dim pdem() As Process Dim proc As New System.Diagnostics.Process() pdem = Process.GetProcessesByName(SCAexe) If pdem.Count < 1 Then proc.StartInfo.FileName = (ChCL) proc.Start() proc.Close() Else MsgBox(Launcher.ChCL & "Application de scan Introuvable", MsgBoxStyle.OkOnly, ) End If Else LabelE2.Text = "Hors ligne"je n'arrive toujours pas à un résultat, celui ci me donne une exception non gérée. (System.NullReferenceException, La référence d'objet n'est pas définie à une instance d'un objet.)
Si quelqu'un pouvait m'aider ? Svp
Merci à vous
Partager