Drucker ansteuern über GUI Topic is solved

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

Optimus Prime
Posts: 69
Joined: 04 Feb 2020, 02:47

Drucker ansteuern über GUI

11 May 2020, 04:58

Hallo Zusammen,

ich habe eine Drucker, den ich Online ansteuern kann. D.h. ich wähle seine IP Adresse im Browser an und habe dann Zugriff auf bestimmte Funktionen und sehe den Status des Gerätes.
Hier gibt es eine Funktion (Drucker stoppen), die ich gerne außerhalb des Browsers nutzen möchte. Also über ein AHK Gui mit speziellem Button.
Ich vermute dass über den Browser eine ASCII Zeichenkette zum Drucker gesendet wird.
Weiß jemand wie ich den Drucker ansteuern kann/wo ich die benötigten Informationen bekomme?

MfG
BNOLI
Posts: 548
Joined: 23 Mar 2020, 03:55

Re: Drucker ansteuern über GUI

11 May 2020, 05:15

Wenn du den Sourcecode dieser Konfigurations/Steuerungs-Webseite filterst wäre ggfs der "Steuerbefehl" zu extrahieren.
Remember to use [code]CODE[/code]-tags for your multi-line scripts. Stay safe, stay inside, and remember washing your hands for 20 sec !
Optimus Prime
Posts: 69
Joined: 04 Feb 2020, 02:47

Re: Drucker ansteuern über GUI

11 May 2020, 05:47

Hallo BNOLI,

wie kann ich den Sourcecode herausfiltern?
Die reinste Form des Wahnsinns ist es, alles so zu belassen wie es ist und zu hoffen, dass sich etwas ändert [Albert Einstein]
User avatar
Scr1pter
Posts: 1272
Joined: 06 Aug 2017, 08:21
Location: Germany

Re: Drucker ansteuern über GUI

11 May 2020, 07:08

Erste Idee: "Rechtsklick -> Seitenquelltext anzeigen"?

Grüße
Please use [code][/code] when posting code!
Keyboard: Logitech G PRO - Mouse: Logitech G502 LS - OS: Windows 10 Pro 64 Bit - AHK version: 1.1.33.09
Optimus Prime
Posts: 69
Joined: 04 Feb 2020, 02:47

Re: Drucker ansteuern über GUI

12 May 2020, 12:45

Okay. Danke für die Info. Ich werde mir die Daten ansehen und melde mich dann nochmal...
Die reinste Form des Wahnsinns ist es, alles so zu belassen wie es ist und zu hoffen, dass sich etwas ändert [Albert Einstein]
Optimus Prime
Posts: 69
Joined: 04 Feb 2020, 02:47

Re: Drucker ansteuern über GUI

13 May 2020, 03:31

Hallo Zusammen,

ich habe den Textverweis im Quelltext gefunden:

<div class="uibtn" id="ui_btn_2_1" onclick="javascript:load_tb_resp('job/cancel','(null)','Auftrag abbrechen','',1)">Auftrag abbrechen</div>

Kann ich diesen JAVA-Befehl mit einem AHK Button irgendwie verknüpfen?
Wer weiß rat?
Die reinste Form des Wahnsinns ist es, alles so zu belassen wie es ist und zu hoffen, dass sich etwas ändert [Albert Einstein]
gregster
Posts: 9002
Joined: 30 Sep 2013, 06:48

Re: Drucker ansteuern über GUI

13 May 2020, 22:55

Vielleicht so, über IE COM:

Code: Select all

F2::		; F2 drücken
ie := ComObjCreate("InternetExplorer.Application") 
ie.visible := true 
ie.Navigate("https://irgendeineDruckerIP")

; wait for the browser to load
while (ie.ReadyState != 4 or ie.Document.ReadyState != "complete" or ie.busy)
{
	sleep 100
}

ie.document.getElementById("ui_btn_2_1").click()
sleep 500
ie.quit()
return
Die IP-Adresse müsstest du natürlich anpassen.

Wenn es funktioniert, kannst du mal versuchen, ie.visible auf false stellen. Wenn man den Befehl häufiger ausführen will, könnte man evtl. die versteckte IE-Instanz offen lassen und wiederverwenden, anstatt sie jedes Mal neu zu erstellen. Das könnte die Reaktionszeit ggf. verkürzen.
BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Drucker ansteuern über GUI

14 May 2020, 00:35

Optimus Prime wrote:
13 May 2020, 03:31
Kann ich diesen JAVA-Befehl mit einem AHK Button irgendwie verknüpfen?
Wer weiß rat?
JAVA und JavaScript sind zwar beides "Schuhe", aber doch unterschiedliche ;)
User avatar
LuckyJoe
Posts: 341
Joined: 02 Oct 2013, 09:52

Re: Drucker ansteuern über GUI

14 May 2020, 02:19

Hi,

ist zwar kein AHK, aber vielleicht hilft dir die Ansteuerung per Batch? Link
Herzliche Grüße aus dem Rheinland
Lucky Joe
Optimus Prime
Posts: 69
Joined: 04 Feb 2020, 02:47

Re: Drucker ansteuern über GUI

15 May 2020, 00:54

Vielen Dank für die Info. Beim Test von Gregsters Skript lädt zwar die IE, die Ansteuerung der IP geht aber nicht. Ich habe es mal mit der Googlewebsite probiert und zusätzliche Pausen eingebaut, jedoch ohne Erfolg.

Code: Select all

F2::		; F2 drücken
ie := ComObjCreate("InternetExplorer.Application") 
ie.visible := true 
sleep 5000
ie.Navigate("https://192.168.120.176")

; wait for the browser to load
while (ie.ReadyState != 4 or ie.Document.ReadyState != "complete" or ie.busy)
{
	sleep 100
}

ie.document.getElementById("ui_btn_2_1").click()
sleep 500
ie.quit()
return
Gregster weißt du Rat? Genau diese Ansteuerung habe ich gesucht :)
Die reinste Form des Wahnsinns ist es, alles so zu belassen wie es ist und zu hoffen, dass sich etwas ändert [Albert Einstein]
gregster
Posts: 9002
Joined: 30 Sep 2013, 06:48

Re: Drucker ansteuern über GUI

15 May 2020, 01:55

Probier mal http:// statt https://.
Wenn ich es mit der internen IP meines Routers versuche, dann funktioniert auch nur http://.

Wenn's das nicht sein sollte, check doch mal bitte, ob der Internet Explorer grundsätzlich Probleme mit deiner Druckerseite hat... also tipp sie bitte mal händisch ein.

Aber du sagst, ie.Navigate("https://www.google.com/") geht auch nicht? Das ist verdächtig. Was passiert dann? Hast du auf deinem PC überhaupt schon mal erfolgreich IE COM verwendet?
Ggf. müssen wir was in den Windows-IE-Einstellungen umstellen...
Optimus Prime
Posts: 69
Joined: 04 Feb 2020, 02:47

Re: Drucker ansteuern über GUI

15 May 2020, 02:17

Moin Gregster,
also das S hat keinen Einfluss. In beiden Fällen wird nur die IE mit der vor eingestellten Startseite gestartet.
Die händische Eingabe der IP funktioniert.
Die reinste Form des Wahnsinns ist es, alles so zu belassen wie es ist und zu hoffen, dass sich etwas ändert [Albert Einstein]
gregster
Posts: 9002
Joined: 30 Sep 2013, 06:48

Re: Drucker ansteuern über GUI

15 May 2020, 02:33

Merkwürdig. Ist es eine Seite im WWW ?
Wie gesagt, hängt vielleicht mit den Berechtigungen für IE COM zusammen. Kennt sich jemand damit aus?

Also IE COM hast du bislang noch nicht verwendet, oder?
Optimus Prime
Posts: 69
Joined: 04 Feb 2020, 02:47

Re: Drucker ansteuern über GUI

15 May 2020, 02:39

Nein noch nie. Die Frage mit dem WWW kann ich nicht deuten! Geht das Vorhaben auch mit Mozilla oder Chrome? Lohnt sich ein Test?
Die reinste Form des Wahnsinns ist es, alles so zu belassen wie es ist und zu hoffen, dass sich etwas ändert [Albert Einstein]
gregster
Posts: 9002
Joined: 30 Sep 2013, 06:48

Re: Drucker ansteuern über GUI

15 May 2020, 03:00

Optimus Prime wrote:
15 May 2020, 02:39
Die Frage mit dem WWW kann ich nicht deuten!
Das bezog sich auf deine voreingestellte Startseite (aber die wird ja nicht durch COM geladen :think: ).
Geht das Vorhaben auch mit Mozilla oder Chrome? Lohnt sich ein Test?
Yo, wir können es mal mit Chrome und Chrome.ahk versuchen. Moment, ich änder mal den Code.
gregster
Posts: 9002
Joined: 30 Sep 2013, 06:48

Re: Drucker ansteuern über GUI

15 May 2020, 03:16

Ist allerdings etwas aufwendiger... COM IE ist eben schon in Windows eingebaut.

Schauen wir erst mal, ob die Seite lädt - um den Button kümmern wir uns dann später. Vergiss nicht, deine IP einzufügen.

Code: Select all

#NoEnv
SetBatchLines, -1
SetTitleMatchMode 2
#Include Chrome.ahk											; https://www.autohotkey.com/boards/viewtopic.php?f=6&t=42890

url := "http://192.192.192.1"							; füge deine IP ein

; --- Create a new Chrome instance ---
FileCreateDir, ChromeProfile										; creates a profile subdirectory in current folder
ChromeInst := new Chrome("ChromeProfile")
winwait, - Google Chrome	

; --- Connect to the page ---
if !(Page := ChromeInst.GetPage( , ,  "fnCallback" ))		; connect to callback function 
{
	MsgBox, Could not retrieve page!
	ChromeInst.Kill()
}
else
	Page.WaitForLoad()

Page.Call("Page.navigate", {"url": url})			; Navigate to url
Page.WaitForLoad()

return

Esc::ExitApp
Damit das funktioniert, lade bitte Chrome.ahk v1.2 von github herunter, kopiere Chrome.ahk in das Verzeichnis des Skripts oben (oder passe den Pfad in #include ggf. an) und korrigiere in Chrome.ahk bitte noch den Typo in der Zeile

Code: Select all

RegRead, ChromePath, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Pahs\chrome.exe
zu

Code: Select all

RegRead, ChromePath, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe
(es fehlt ein t in App Paths)

Das Ganze können wir dann ggf. auch "headless"/"not visible" machen (müsste deutlich schneller sein).
Optimus Prime
Posts: 69
Joined: 04 Feb 2020, 02:47

Re: Drucker ansteuern über GUI

15 May 2020, 03:40

Jetzt wird die IP über Chrome geöffnet. Fehlt noch die Ansteuerung und not visible wäre ein Traum :)
Die reinste Form des Wahnsinns ist es, alles so zu belassen wie es ist und zu hoffen, dass sich etwas ändert [Albert Einstein]
gregster
Posts: 9002
Joined: 30 Sep 2013, 06:48

Re: Drucker ansteuern über GUI

15 May 2020, 03:42

Ist nur ein Versuch, aber du könntest im IE-Code oben auch mal

Code: Select all

ie := ComObjCreate("{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}") ; create a InternetExplorerMedium instance
veruschen, statt
ie := ComObjCreate("InternetExplorer.Application")
gregster
Posts: 9002
Joined: 30 Sep 2013, 06:48

Re: Drucker ansteuern über GUI

15 May 2020, 03:51

Optimus Prime wrote:
15 May 2020, 03:40
Jetzt wird die IP über Chrome geöffnet. Fehlt noch die Ansteuerung und not visible wäre ein Traum :)
Ah gut, dann probier erstmal

Code: Select all

Page.Evaluate("document.getElementById('ui_btn_2_1').click()")
einzufügen, unter Page.WaitForLoad().
Optimus Prime
Posts: 69
Joined: 04 Feb 2020, 02:47

Re: Drucker ansteuern über GUI

15 May 2020, 03:52

gregster wrote:
15 May 2020, 03:42
Ist nur ein Versuch, aber du könntest im IE-Code oben auch mal

Code: Select all

ie := ComObjCreate("{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}") ; create a InternetExplorerMedium instance
veruschen, statt
ie := ComObjCreate("InternetExplorer.Application")
Geht auch nicht...
Die reinste Form des Wahnsinns ist es, alles so zu belassen wie es ist und zu hoffen, dass sich etwas ändert [Albert Einstein]

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 52 guests