"Private Desktops" und "Multi-Desktops"
Man sieht in dem Video:
1. zuerst die "normale Installation" von Greenshot, aktuelle Version aufgezeichnet mit InstaRec.
Das bedeutet, die Installation spielt auf dem "Default"-Desktop ab.
"Default" ist immer der Desktop den Windows uns nach der Anmeldung gibt.
2. Dann sieht man wie das gleiche Setup auf dem Privaten Desktop "Desktop-1" abläuft.
Also genaugenommen sieht man nichts. Außer dass am Ende kurz der Bildschirm flackert.
Und auch das passiert nur wenn man den "Privaten Desktop" schliessen will,
was jedoch unnötig ist, da dieser sowieso nach dem Reboot von alleine wieder weg ist.
Das war schnell gezeigt, um dem Video noch ein wenig mehr Information zu geben,
sehen wir uns noch mal ein paar Stellen an, wo das "PD_" (Privater Desktop) Skript ergänzt bzw. geändert wurde.
Da ist natürlich erst Mal die Compiler-Direktive, die bewirkt dass das Skript auf dem "privaten Desktop" startet.
Dieses ist noch nicht final, also sag ich dazu nur etwas mit Vorbehalt. Es wird jedoch irgendwas sein wie zum Beispiel:
Code: Select all
'#HID:1 -> startet auf "Desktop-1
Code: Select all
IAI\Greenshot 1.2.9.112
GOTO enx
EAI\
Code: Select all
WPT\$$PID|360
JIT\Always
:enx
VAR\$$PRO=0
:Always
Am Ende der Installation geht ja dann ein Browserfenster auf.
Dazu muß man wissen, daß ein einmal gestarteter Robot an seinen Desktop gebunden ist.
Das ist für den Robot wie ein eigener Planet. Fast wie eine Sandbox. Da kann er nicht raus.
Ein Robot kann daher nicht auf seinem "privaten Desktop" klicken und dann noch auf dem "Default Desktop".
So kann es sein, daß zum Beispiel bei einer Installation die auf einem privaten Desktop läuft, diese Installation ein Browserfenster öffnet.
Da dies oft über die Windwos-Shell gemacht wird, öffnet diese dann den Browser (Edge zum Beispiel) typischerweise auf dem "Default Desktop".
Da der Robot jedoch auf dem privaten Desktop gestartet ist und dort nicht weg kann, kann man nicht das Fenster dort lokalisieren und einfach mit der Maus schließen. Dazu müßte man einen neuen Robot auf dem jeweiligen Desktop starten.
Man kann aber - was wir hier tun - den Prozess des Browsers beenden.
Ich habe daher direkt über Block 21 diesen Code eingetragen:
Code: Select all
' Schliesst den aufpoppenden Internet Explorer
:retry
CAS\1
IEP\iexplore.exe
TPC\iep
GOTO retry
EEP\
Beide Fenster könnten kommen, man weiß nicht welches kommt. Also muß man das kurz Skripten: zwei alternative Fenster.
Das gleiche Verfahren wie unten geschildert funktioniert aber mit einer beliebigen Anzahl alternativer Fenster.
Das Top-Fenster hat immer den gleichen Fenstertitel.
Also sieht das dann so aus (s.u). Damit kann man einfach abfragen welches von mehreren möglichen Fenstern kommt.
Code: Select all
:search
STW\twizardform\setup - greenshot|w585
IWF\1
GCW\\3\tnewchecklistbox\greenshot starten|w585
LES\Greenshot starten
BTC\0
CAS\1
GOTO out
EWF\
IWF\1
GCW\\3\TNewRadioButton\&Nein, ich werde den Computer später neu starten|w164
SAW\
BTC\1
GOTO out
EWF\
GOTO search
:out
Hinweis:
Das Video ist mit einer Vorversion aufgenommen es sind also insbesondere die Compilerdirektiven
hier noch nicht "Final".