Foxit Reader aktivieren, kein Fenstertitel verfügbar

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Foxit Reader aktivieren, kein Fenstertitel verfügbar

Re: Foxit Reader aktivieren, kein Fenstertitel verfügbar

by Optimus Prime » 02 Aug 2020, 16:03

Hi Frosti,

Thema gelöst:

Code: Select all

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
#Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
SetTitleMatchMode, 2

Adobe := ".pdf - Adobe Acrobat Reader DC"   	; Titel des geöffneten Acrobat Reader Fensters
Foxit := "ahk_class classFoxitReader"					; Titel des geöffneten Foxit Readers


F2::

If WinExist(Adobe) && Winexist(Foxit) {
	MsgBox, Adobe Acrobat Reader und Foxit Reader sind gleichzeitig geöffnet! `nBitte eine Instanz beenden!
Return
}

;;//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

If Winexist(Adobe)
{
	Gui, +OwnDialogs                                                                     ;; blockiert das AHK-Fenster während der Meldungs- bzw. Progress-Anzeige
	WinActivate, %Adobe%								;; aktiviert den (geöffneten) Adobe Acrobat Reader
	WinWaitActive, %Adobe%, , 3                                                    ;; wartet maximal 3 Sekunden auf die Aktivierung
	If (ErrorLevel) 
	{
		MsgBox, 16, Fehler!, Es wurde keine PDF-Datei gefunden!
	Return
	}
	send ^p 	                                                                       ;;Drucken
}

;;//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

if WinExist(Foxit) 
{
	Gui, +OwnDialogs                                                  	;< blockiert das AHK-Fenster während der Meldungs- bzw. Progress-Anzeige
	WinActivate, %Foxit%                                          	;; aktiviert den (geöffneten) Adobe Acrobat Reader
	WinWaitActive, %Foxit%, , 3                               	;; wartet maximal 3 Sekunden auf die Aktivierung
	If (ErrorLevel) 
	{
		MsgBox, 16, Fehler!, Es wurde keine PDF-Datei gefunden!
	Return
	}
	Send ^p
}
Return
Die Anführungszeichen müssen jedoch stehen bleiben, sonst geht in diesem Fall leider nichts :)
Vielen Dank für den Support.

Re: Foxit Reader aktivieren, kein Fenstertitel verfügbar

by Frosti » 01 Aug 2020, 04:30

Zuerst einmal sehe ich folgendes.
1. If WinExist("Adobe") && Winexist("Foxit") funktioniert so nicht, da Du Deine Variablen in Anführungszeichen gesetzt hast.
Funktionieren würde es so: If WinExist(Adobe) && Winexist(Foxit)

2. Du möchtest entweder an einen Adobe Reader oder an einen FoxitReader Fenster die Tastenkombination LControl p senden.
Hier tritt else als Bedingung ein, wenn kein FoxitReader Fenster vorhanden ist. Somit ist die Fehlerausgabe erklärt

Code: Select all

If (FoxitID:=WinExist("ahk_class classFoxitReader")) { ;<--------
	Gui, +OwnDialogs                                                  	;< blockiert das AHK-Fenster während der Meldungs- bzw. Progress-Anzeige
	WinActivate, % "ahk_id " FoxitID                                  	;; aktiviert den (geöffneten) Adobe Acrobat Reader
	WinWaitActive, % "ahk_id " FoxitID,, 3                             	;; wartet maximal 3 Sekunden auf die Aktivierung
} else { -<-------
   MsgBox, 16, Fehler!, Es wurde keine PDF-Datei gefunden!
   Return
}
Ich würde Dir folgendes vorschlagen (Send habe ich in die If´s verlegt)

Code: Select all

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
#Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
SetTitleMatchMode, 2

Adobe := ".pdf - Adobe Acrobat Reader DC"   	; Titel des geöffneten Acrobat Reader Fensters
Foxit := "ahk_class classFoxitReader"					; Titel des geöffneten Foxit Readers

If WinExist(Adobe) && Winexist(Foxit) {
	MsgBox, Adobe Acrobat Reader und Foxit Reader sind gleichzeitig geöffnet! `nBitte eine Instanz beenden!
Return
}

;;//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

If Winexist(Adobe) {
	Gui, +OwnDialogs                                                                     ;; blockiert das AHK-Fenster während der Meldungs- bzw. Progress-Anzeige
	WinActivate, %Adobe%								;; aktiviert den (geöffneten) Adobe Acrobat Reader
	WinWaitActive, %Adobe%, , 3                                                    ;; wartet maximal 3 Sekunden auf die Aktivierung
	If (ErrorLevel) {
		MsgBox, 16, Fehler!, Es wurde keine PDF-Datei gefunden!
	Return
	send ^p 	                                                                       ;;Drucken
}

;;//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

If (WinExist(Foxit)) {
	Gui, +OwnDialogs                                                  	;< blockiert das AHK-Fenster während der Meldungs- bzw. Progress-Anzeige
	WinActivate, % Foxit                                          	;; aktiviert den (geöffneten) Adobe Acrobat Reader
	WinWaitActive, % Foxit,, 3                               	;; wartet maximal 3 Sekunden auf die Aktivierung
	If (ErrorLevel) {
		MsgBox, 16, Fehler!, Es wurde keine PDF-Datei gefunden!
	Return
	Send ^p
}

Return

Re: Foxit Reader aktivieren, kein Fenstertitel verfügbar

by Optimus Prime » 31 Jul 2020, 15:10

Hi Frosti,

das Skript tut genau das, was es tun soll, wenn ich es einzeln als AHK Datei verwende! Wenn ich es in ein bestehendes Skript einfüge funktioniert es leider nicht. Foxit wird dann nicht geöffnet und es erfolgt die Fehlermedlung der IF-Funktion:

Code: Select all

Gui +OwnDialogs
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
#Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
SetTitleMatchMode, 2
Adobe := ".pdf - Adobe Acrobat Reader DC"   	; Titel des geöffneten Acrobat Reader Fensters
Foxit := ".pdf - Foxit Reader"					; Titel des geöffneten Foxit Readers

Start: 

SetTitleMatchMode, 2

If WinExist("Adobe") && Winexist("Foxit")

{
	MsgBox, Adobe Acrobat Reader und Foxit Reader sind gleichzeitig geöffnet! `nBitte eine Instanz beenden!
Return
}

;;//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

If Winexist("Adobe")
Gui, +OwnDialogs                                                                     ;; blockiert das AHK-Fenster während der Meldungs- bzw. Progress-Anzeige
WinActivate, %Adobe%								;; aktiviert den (geöffneten) Adobe Acrobat Reader
WinWaitActive, %Adobe%, , 3                                                    ;; wartet maximal 3 Sekunden auf die Aktivierung
If (ErrorLevel)
{
   MsgBox, 16, Fehler!, Es wurde keine PDF-Datei gefunden!
   Return
}


send ^p 	                                                                    ;;Drucken
;;//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

If (FoxitID:=WinExist("ahk_class classFoxitReader")) {
	Gui, +OwnDialogs                                                  	;< blockiert das AHK-Fenster während der Meldungs- bzw. Progress-Anzeige
	WinActivate, % "ahk_id " FoxitID                                  	;; aktiviert den (geöffneten) Adobe Acrobat Reader
	WinWaitActive, % "ahk_id " FoxitID,, 3                             	;; wartet maximal 3 Sekunden auf die Aktivierung	
} else {
   MsgBox, 16, Fehler!, Es wurde keine PDF-Datei gefunden!
   Return
}

Send ^p

Return

Fehlt hier noch etwas? Deine Foxit Funktionen sehen sehr interessant aus! Ich werde es mal testen. In diesem Fall werde ich jedoch bei Strg+P bleiben.
Danke im Voraus :)

Re: Foxit Reader aktivieren, kein Fenstertitel verfügbar

by Frosti » 31 Jul 2020, 03:36

Probier es doch mal so.

Code: Select all

If (FoxitID:=WinExist("ahk_class classFoxitReader")) {
	Gui, +OwnDialogs                                                  	;< blockiert das AHK-Fenster während der Meldungs- bzw. Progress-Anzeige
	WinActivate, % "ahk_id " FoxitID                                  	;; aktiviert den (geöffneten) Adobe Acrobat Reader
	WinWaitActive, % "ahk_id " FoxitID,, 3                             	;; wartet maximal 3 Sekunden auf die Aktivierung	
} else {
   MsgBox, 16, Fehler!, Es wurde keine PDF-Datei gefunden!
   Return
}
Um den "Druck"-Dialog anstatt mit send ^p zu öffnen könntest Du meine FoxitReader Funktion FoxitInvoke() nutzen. Damit ist der Zugriff auf alle Menupunkte möglich.
Hier ist der Link.

Re: Foxit Reader aktivieren, kein Fenstertitel verfügbar

by gregster » 30 Jul 2020, 19:36

Ähemm, der Screenshot ist aber nicht das mit AHK mitgelieferte WindowSpy.ahk-Skript...

Foxit Reader aktivieren, kein Fenstertitel verfügbar

by Optimus Prime » 30 Jul 2020, 16:04

Hallo Zusammen,

vor allzu langer Zeit habt ihr mir geholfen den Adobe Acrobat Reader anzusteuern.

Das Skript sah so aus:

Code: Select all

Adobe := ".pdf - Adobe Acrobat Reader DC"   	; Titel des geöffneten Acrobat Reader Fensters

If Winexist("Adobe")
Gui, +OwnDialogs                                                                     ;; blockiert das AHK-Fenster während der Meldungs- bzw. Progress-Anzeige
WinActivate, %Adobe%																			;; aktiviert den (geöffneten) Adobe Acrobat Reader
WinWaitActive, %Adobe%, , 3                                                    ;; wartet maximal 3 Sekunden auf die Aktivierung
If (ErrorLevel)
{
   MsgBox, 16, Fehler!, Es wurde keine PDF-Datei gefunden!
   Return
}

send ^p										;; drucken
Jetzt will ich das Gleiche beim Foxit Reader umsetzen. Leider kann ich den Fenstertext über Winspy nicht ermitteln und die Ansteuerung des Readers
funktioniert nicht. Auch nicht mit AHK_class etc. führen bei Foxit Reader nicht zum Ergebnis!

Anbei mein zurück verwandeltes Skript:

Code: Select all

Foxit := ".pdf - Foxit Reader"					; Titel des geöffneten Foxit Readers

DetectHiddenWindows, On
SetTitleMatchMode, 2

If Winexist("Foxit")
Gui, +OwnDialogs                                                                     ;< blockiert das AHK-Fenster während der Meldungs- bzw. Progress-Anzeige
WinActivate, %Foxit%											;; aktiviert den (geöffneten) Adobe Acrobat Reader
WinWaitActive, %Foxit%, , 3                                                       ;; wartet maximal 3 Sekunden auf die Aktivierung
If (ErrorLevel)
{
   MsgBox, 16, Fehler!, Es wurde keine PDF-Datei gefunden!
   Return
}
send ^p											;; drucken
Anbei der Screenshoot von Winspy mit Foxit Reader. Welche Möglichkeiten habe ich noch um das Fenster aus dem Hintergrund zu aktivieren?
Attachments
Winspy.JPG
Winspy.JPG (59.22 KiB) Viewed 1529 times

Top