vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: Per Code Druckereigenschaften öffnen + Comment eingeben 
Autor: Stefan
Datum: 15.07.02 10:12

Hi Acid!
Ich habe mal nen' Prog geschrieben, welches aus einer Datei (Ein Druckername in jeder Zeile) die Druckernamen ausliest, bei denen der Kommentar geändert werden soll. Die Datei kann auch auf Netzwerk liegen. Du musst dieses Programm allerdings auf jedem Rechner mit Drucker ausführen.

Ich hoffe, das es Dir diesmal hilft

Stefan

PS: Standart-EXE Projekt die Form löschen und ein Modul erstellen. Dort den Code einfügen.

'API's


Private Declare Function RegOpenKey Lib "advapi32.dll" _
  Alias "RegOpenKeyA" (ByVal hKey As Long, _
  ByVal lpSubKey As String, phkResult As LongAs Long


Private Declare Function RegCreateKey Lib "advapi32.dll" _
  Alias "RegCreateKeyA" (ByVal hKey As Long, _
  ByVal lpSubKey As String, phkResult As LongAs Long

Private Declare Function RegSetValueEx Lib "advapi32.dll" _
  Alias "RegSetValueExA" (ByVal hKey As Long, _
  ByVal lpValueName As StringByVal Reserved As Long, _
  ByVal dwType As Long, lpData As Any, ByVal cbData As Long) _
  As Long
  
Private Declare Function RegCloseKey Lib "advapi32.dll" _
  (ByVal hKey As LongAs Long

'Konstanten
Const HKEY_LOCAL_MACHINE = &H80000002
Const REG_SZ = 1

'Sub zum Speichern in die Registry
Sub SaveToReg(hKey As Long, sPath As String, _
  sValue As StringByVal iData As String)

  Dim vRet As Variant

  RegCreateKey hKey, sPath, vRet
  RegSetValueEx vRet, sValue, 0, REG_SZ, ByVal iData, _
    Len(iData)
  RegCloseKey vRet
End Sub

'Hauptprogramm
Sub main()

Dim i, k, x, ff As Integer
Dim devname, myComment, pfad, prt() As String

pfad = "Crinters.txt" 'Pfad zur Textdatei mit den Druckernamen deren Comments geändert werden sollen

myComment = "Kommentar" 'Das ist der Kommentar


ff = FreeFile
Open pfad For Input As #ff
    x = -1 'Damit der Feldindex von prt() auch beim ersten Durchlauf stimmt
    Do While Not EOF(ff)
        x = x + 1
        ReDim Preserve prt(x)
        Line Input #ff, prt(UBound(prt))
    Loop

Close #ff

For i = 0 To Printers.Count - 1
    devname = Printers(i).DeviceName 'Druckernamen herausfinden
    For k = 0 To UBound(prt)
        If devname = prt(k) Then
            'Kommentar in die Registry schreiben
            SaveToReg HKEY_LOCAL_MACHINE, "SystemCurrentControlSetControlPrintPrinters\" & devname, "Description", myComment
        End If
    Next k
Next i

End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Per Code Druckereigenschaften öffnen + Comment eingeben73Acid12.07.02 13:16
Re: Per Code Druckereigenschaften öffnen + Comment eingeben50Stefan13.07.02 14:04
Re: Per Code Druckereigenschaften öffnen + Comment eingeben40Acid14.07.02 21:39
Re: Per Code Druckereigenschaften öffnen + Comment eingeben38Stefan15.07.02 10:12
Re: Per Code Druckereigenschaften öffnen + Comment eingeben34Acid15.07.02 12:56
Re: Per Code Druckereigenschaften öffnen + Comment eingeben33Stefan15.07.02 17:25
Re: Per Code Druckereigenschaften öffnen + Comment eingeben35Acid17.07.02 08:23

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel