Hilfe Drucker Einstellmenü Auslesen der angeschlossen Drucker

  • Hallo,

    ich habe eine Gui gebastelt und möchte jedem Teilnehmer die Möglichkeit geben seinen Drucker selber einzustellen.

    Dafür habe ich hier

    https://autoit.de/index.php/Thre…ruckerfensters/

    Was gefunden was schon nicht schlecht aussieht.
    Alt siehe Post 2
    #############################################################################################
    Nun mein Problem.


    Bei mir als Admin geht es, bei User die kein Admin sind geht es nicht. Dort wird kein Drucker angezeigt. Oder liegt es an was anderem ?
    ##############################################################################################
    Hat da einer einen Trick ?

    Danke

    Steffen

    AutoIt
    Func _Druckerlesen()
    	Global $hService = ObjGet("winmgmts:{impersonationLevel=impersonate}!" & "\\" & @ComputerName & "\root\cimv2")
    		$sPrinterList = $hService.ExecQuery ("Select * From Win32_Printer")
    		For $sPrinter In $sPrinterList
    		$drucker_lesen &= $sPrinter.name & "|"
    	Next
    EndFunc

    Einmal editiert, zuletzt von SCCSSF (14. Juli 2017 um 16:24)

  • AutoIt
    GUICtrlSetData ($druckergui,$drucker_lesen)
    GUICtrlSetData ($druckergui,$drucker)

    So wenn man etwas drüber nach denkt finde ich an was es liegt.
    Wenn ich 2 weg lasse geht es. allerdings kann ich dann den aktivierten Drucker nicht voreinstellen.
    Allerdings geht es bei mir im Admin Modus.

    Ich möchte erst die Liste auslesen und dann noch den Drucker setzten der voreingestellt war (Speichere ich in einer *.INI)

    AutoIt
    $Druckergui = GUICtrlCreateCombo("",217,181,180,21,-1,-1)
    GUICtrlSetData(-1,"")
  • Hallo Steffen,
    ich habe das jetzt mehrfach gelesen. Aber was ist dein Problem? Du kannst die Combobox nicht mit Inhalten füllen?
    Aus der Hilfe zu GUICtrlCreateCombo:

    AutoIt
    ; Add additional items to the combobox.
    GUICtrlSetData($idComboBox, "Item 2|Item 3", "Item 2")

    Der Wert hinter dem Komma ist der Wert, der direkt in der Combobox lesbar ist.

    Wenn ich an deiner Frage vorbei gehe, dann stelle sie bitte noch einmal. Ich bin mir wirklich nicht sicher.

    Grüße autoiter

  • Hey Steffen,

    denke an das abschließende Pipe Zeichen. Also vielleicht noch das letzte wegschneiden, falls es zu einem Leerfeld führt. StringTrimRight($drucker_lesen, 1)

    Grüße autoiter