DSM 7 – Abfragen, Message Boxen und Loops

Erstellt am 26. November 2015

DSM als Softwareverteilsystem wird sowohl von vielen KMUs als auch von grösseren Firmen eingesetzt. Ein wichtiger Punkt bei der Verteilung von Software ist, dass der User keine Daten verliert während z.B. ein Programm durch ein neueres ersetzt wird.

Man stelle sich vor ein Geschäftsleitungsmitglied arbeitet an einer Excel-Tabelle und ein Programm, welches installiert wird, muss für die Installation den Prozess Excel.exe beenden. Passiert dies ohne dass der User vorgängig informiert wird, kann man sich vorstellen was die Auswirkungen sein können.
Darum ist es wichtig, dass – wenn man schon im laufenden Betrieb Software installiert – der User informiert wird bevor ein Programm automatisch geschlossen wird. Diese Information kann in DSM als Message Box an den User ausgegeben werden.
Nehmen wir also an wir wollen eine neue Java-Version installieren. Wir wollen, dass vor der Installation alle Internet Explorer Fenster geschlossen sind. Dabei wollen wir dem User drei Mal die Möglichkeit geben selbst den Internet Explorer zu schliessen und erst danach wird der Prozess automatisch beendet. Dieser Teil des Scripts würde folgendermassen aussehen:

Set('LoopCounter','0') 
: LoopIE Set('InternetExplorer','0') 
Set('WMI_Name','0') 
WMISimpleQuery('\\.\root\cimv2','Win32_Process','Name=iexplore.exe','WMI_') Name EndProc/TS 
If %WMI_Name%='iexplore.exe' 
	IncrementVar('InternetExplorer','1') 
If not %InternetExplorer%='0' 
	MsgBox Please close all Internet Explorer Windows to be able to install Java Runtime. The Process will be terminated otherwise. 
	EndProc/TU Sleep('30') 
If %LoopCounter%='2' KillProcess('iexplore.exe',kpByFileName+kpKillAll)/TS 
	IncrementVar('LoopCounter','1') 
goto LoopIE

Erstellt am 26. November 2015

Vielleicht auch interessant…

This Area is Widget-Ready

You can place here any widget you want!

You can also display any layout saved in Divi Library.

Let’s try with contact form: