"Private Desktops" und "Multi-Desktops"

Moderator: MVogt

"Private Desktops" und "Multi-Desktops"

Beitragvon Theo_Gottwald » 10. Jan 2017, 16:52

Ein Preview was die MPR-Anwender 2017 erwartet:
"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: Alles auswählen
'#HID:1 -> startet auf "Desktop-1


Im Code selbst haben ich folgendes ergänzt:
Code: Alles auswählen
IAI\Greenshot 1.2.9.112
   GOTO enx
EAI\


und natürlich am Skriptende ein solches Label ":enx", in Block 21:

Code: Alles auswählen
WPT\$$PID|360
JIT\Always
:enx
VAR\$$PRO=0
:Always


Ergänzt habe ich nur das Label ":enx", der übrige Code ist ja vom InstaRec generiert worden.

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: Alles auswählen
' Schliesst den aufpoppenden Internet Explorer
:retry
CAS\1
IEP\iexplore.exe
   TPC\iep
   GOTO retry
EEP\


Und noch eine Ergänzung im Code ist interessant. Am Ende des Scripts kommt manchmal das Fenster "Reboot ..." und manchmal kommt das Fenster "Greenshot starten".

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: Alles auswählen
: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


Das wird im Video gezeigt, und das ist dann auch der ganze kurze Preview.

Hinweis:
Das Video ist mit einer Vorversion aufgenommen es sind also insbesondere die Compilerdirektiven
hier noch nicht "Final".
Benutzeravatar
Theo_Gottwald
 
Beiträge: 273
Registriert: 03. Okt 2009, 08:57
Wohnort: Herrenstr.11 * 76706 Dettenheim

Zurück zu Package Robot

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast