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
Drucker ansteuern über GUI Topic is solved
Moderator: jNizM
-
- Posts: 69
- Joined: 04 Feb 2020, 02:47
Re: Drucker ansteuern über GUI
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 !
-
- Posts: 69
- Joined: 04 Feb 2020, 02:47
Re: Drucker ansteuern über GUI
Hallo BNOLI,
wie kann ich den Sourcecode herausfiltern?
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]
Re: Drucker ansteuern über GUI
Erste Idee: "Rechtsklick -> Seitenquelltext anzeigen"?
Grüße
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
Keyboard: Logitech G PRO - Mouse: Logitech G502 LS - OS: Windows 10 Pro 64 Bit - AHK version: 1.1.33.09
-
- Posts: 69
- Joined: 04 Feb 2020, 02:47
Re: Drucker ansteuern über GUI
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]
-
- Posts: 69
- Joined: 04 Feb 2020, 02:47
Re: Drucker ansteuern über GUI
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?
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]
Re: Drucker ansteuern über GUI
Vielleicht so, über IE COM:
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.
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
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.
Re: Drucker ansteuern über GUI
JAVA und JavaScript sind zwar beides "Schuhe", aber doch unterschiedlicheOptimus Prime wrote: ↑13 May 2020, 03:31Kann ich diesen JAVA-Befehl mit einem AHK Button irgendwie verknüpfen?
Wer weiß rat?
Re: Drucker ansteuern über GUI
Herzliche Grüße aus dem Rheinland
Lucky Joe
Lucky Joe
-
- Posts: 69
- Joined: 04 Feb 2020, 02:47
Re: Drucker ansteuern über GUI
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.
Gregster weißt du Rat? Genau diese Ansteuerung habe ich gesucht
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
Die reinste Form des Wahnsinns ist es, alles so zu belassen wie es ist und zu hoffen, dass sich etwas ändert [Albert Einstein]
Re: Drucker ansteuern über GUI
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...
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...
-
- Posts: 69
- Joined: 04 Feb 2020, 02:47
Re: Drucker ansteuern über GUI
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.
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]
Re: Drucker ansteuern über GUI
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?
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?
-
- Posts: 69
- Joined: 04 Feb 2020, 02:47
Re: Drucker ansteuern über GUI
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]
Re: Drucker ansteuern über GUI
Das bezog sich auf deine voreingestellte Startseite (aber die wird ja nicht durch COM geladen ).
Yo, wir können es mal mit Chrome und Chrome.ahk versuchen. Moment, ich änder mal den Code.Geht das Vorhaben auch mit Mozilla oder Chrome? Lohnt sich ein Test?
Re: Drucker ansteuern über GUI
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.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
zu
(es fehlt ein t in App Paths)
Das Ganze können wir dann ggf. auch "headless"/"not visible" machen (müsste deutlich schneller sein).
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
Code: Select all
RegRead, ChromePath, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Pahs\chrome.exe
Code: Select all
RegRead, ChromePath, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe
Das Ganze können wir dann ggf. auch "headless"/"not visible" machen (müsste deutlich schneller sein).
-
- Posts: 69
- Joined: 04 Feb 2020, 02:47
Re: Drucker ansteuern über GUI
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]
Re: Drucker ansteuern über GUI
Ist nur ein Versuch, aber du könntest im IE-Code oben auch mal
veruschen, statt
ie := ComObjCreate("InternetExplorer.Application")
Code: Select all
ie := ComObjCreate("{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}") ; create a InternetExplorerMedium instance
ie := ComObjCreate("InternetExplorer.Application")
Re: Drucker ansteuern über GUI
Ah gut, dann probier erstmalOptimus Prime wrote: ↑15 May 2020, 03:40Jetzt wird die IP über Chrome geöffnet. Fehlt noch die Ansteuerung und not visible wäre ein Traum
Code: Select all
Page.Evaluate("document.getElementById('ui_btn_2_1').click()")
-
- Posts: 69
- Joined: 04 Feb 2020, 02:47
Re: Drucker ansteuern über GUI
Geht auch nicht...gregster wrote: ↑15 May 2020, 03:42Ist nur ein Versuch, aber du könntest im IE-Code oben auch malveruschen, stattCode: Select all
ie := ComObjCreate("{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}") ; create a InternetExplorerMedium instance
ie := ComObjCreate("InternetExplorer.Application")
Die reinste Form des Wahnsinns ist es, alles so zu belassen wie es ist und zu hoffen, dass sich etwas ändert [Albert Einstein]
Who is online
Users browsing this forum: No registered users and 15 guests