Promotic
Přihlášení logon

ShellExecute - metoda objektu Pm

Popis:
Spuštění nebo vytisknutí souboru nebo zaregistrovaného dokumentu.
Syntaxe:
Long ShellExecute(String sOperation, String sFile, String sParameters, String sFolder, Variant vOptions, [String sRequestId], [Function onComplete])
Parametry:
sOperation(String) Typ operace se souborem. Pokud parametr je prázdný řetězec, pak je nastavena hodnota "open".
"open" - Soubor má být otevřen spolu s asociovanou aplikací
"print" - Soubor má být vytisknut
"runas" - Jako "open", ale s povýšenými právy. Upozornění! Dojde vyvolání systému UAC Windows (ztmavení obrazovky a výzva k potvrzení přechodu na vyšší práva).
sFile(String) Název souboru s cestou.
Pokud není zadána celá cesta, pak se doplní relativně k složce aplikace.
Je doporučeno použít cestu v syntaxi PROMOTIC - viz PROMOTIC cesta k souborům nebo složkám.
sParameters(String) Parametry, které je nutno předat aplikaci asociované se spouštěným souborem
sFolder(String) Cesta k pracovní složce aplikace.
Je doporučeno použít cestu v syntaxi PROMOTIC - viz PROMOTIC cesta k souborům nebo složkám.
vOptions(Variant) Dodatečné parametry
KeyVal - Dodatečné parametry zadané v podobě řetězce. Údaje jsou zde ve formátu KeyVal, například "state:hidden;timeout:10;"
state - Určuje mód zobrazení aplikace.
normal (přednastaveno) - normálně aktivně
max - maximalizovaně aktivně
min - minimalizovaně aktivně
hidden - skrytě
normal_na - normálně neaktivně
min_na - minimalizovaně neaktivně
timeout - Určuje maximální čas pro operaci v sekundách. Přednastaveno je -1, znamenající nekonečný timeout.
Pokud operace neskončí do stanoveného času, pak dojde k vyvolání funkce onComplete(ev), kde vrácená hodnota (parametr ev.Value) bude undefined (neplatná).
Number - Starý způsob zadání módu zobrazení aplikace pomocí čísla:
0 - skrytě
1 - normálně aktivně
2 - minimalizovaně aktivně
3 - maximalizovaně aktivně
4 - normálně neaktivně
6 - minimalizovaně neaktivně
sRequestId[nepovinné] (String) Identifikátor registrované událostní funkce.
- Zamezuje duplicitnimu zaregistrování téže funkce.
- Může obsahovat jakékoliv znaky (není to systémový název).
- Nesmí být prázdný řetězec.
onComplete[nepovinné] (Function) Parametr onComplete obsahuje funkci, která bude volána k asynchronnímu předání výsledku. Funkce musí být ve tvaru: function onComplete(ev) {};
kde parametr ev.Value obsahuje vrácenou hodnotu (výsledek) asynchronního volání.
Výsledek je hodnota, kterou vrátila spuštěná aplikace při svém ukončení.
Pokud nedošlo k chybě, pak tato hodnota bývá obvykle 0.
Pokud nedošlo k ukončení aplikace v časovém limitu, zadaném parametrem timeout, pak je vrácená hodnota undefined.
Vrácená hodnota:
Pokud operace proběhla úspěšně, pak metoda vrací hodnotu 0, v jiném případě vrací číslo chyby:
1 - nedostatek paměti
3 - zadaný soubor nebyl nalezen
4 - zadaná cesta nebyla nalezena
Poznámka:
Metoda slouží k spuštění nebo vytisknutí souboru *.exe nebo souboru zaregistrovaného v OS Windows spolu s asociovanou aplikací.

Tato metoda není funkční ve Web obrazech. Tato metoda je asynchronní.
Viz také:
- Pm.CreateProcess (metoda)
Příklad1:
Tisk textového souboru "experiment.htm" v InternetExploreru:
JavaScriptVBScriptVyber a zkopíruj do schránky

Pm.ShellExecute("print", "#app:experiment.htm", "", "#app:", 0);
Příklad2:
Zobrazí systémové okno Windows síťové tiskárny "\\SERVER\PRINTER1:"
JavaScriptVBScriptVyber a zkopíruj do schránky

Pm.ShellExecute("", "\\\\SERVER\\PRINTER1", "", "", 0);
Příklad3:
Spuštění aplikace PowerPointu.
JavaScriptVBScriptVyber a zkopíruj do schránky

Pm.ShellExecute("open", "C:\\PowerPoint\\presentation.pps", "", "C:\\PowerPoint\\", 1);
Příklad4:
Otevření lokálního PDF souboru ve webovém prohlížeči Edge.
JavaScriptVBScriptVyber a zkopíruj do schránky

var sPathBrowser = "c:/Program Files (x86)/Microsoft/Edge/Application/";
Pm.ShellExecute("open", sPathBrowser + "msedge.exe", "c:/download/filename.pdf", sPathBrowser, 3);
K zobrazení požadované webové stránky v prohlížeči je vhodnější použít: CreateProcess nebo Otevření prohlížeče webových stránek (/#glob/webbrowser)
Příklad5:
Odeslání souboru na FTP server s informací o ukončeném přenosu.
JavaScriptVyber a zkopíruj do schránky

var sUser = "ftpname:ftppassword";
var sFtpFile = "ftp://ftpservername.com/dir/filename.pdf";
var sLocalFile = "c:/Test/filename.pdf";
var sSend = ' -T "' + sLocalFile + '" -u "' + sUser + '" --url "' + sFtpFile + '"';

Pm.ShellExecute("open", "c:/Windows/System32/curl.exe", sSend, "", "state:hidden;", pMe.GetPathName(), onComplete);

function onComplete(ev)
{
if (!ev.Value)
{
Pm.Debug("FTP transfer is OK");
}
}

Historie:
Pm9.00.30: Nová volba "runas" pro spuštění s povýšenými právy.
Pm9.00.29: Nový parametr sRequestId a nový parametr onComplete, umožňuje asynchronní převzetí výsledku operace.
Navigace:
 
- Pm
 
- Abs
- Cos
- E
- Exp
- LN2
- PI
- Pow
- ShellExecute
 
 
- Sin
- Tan
© MICROSYS, spol. s r.o.Update cookies preferences