/ / Jak otworzyć plik .exe z WinJS - javascript, exe, winjs

Jak otworzyć plik .exe z WinJS - javascript, exe, winjs

Próbuję otworzyć aplikację .exe z WinJS, ale pojawia się błąd, to mój kod:

    var comando = "C:\Program%20Files%20(x86)\Windows%20Media%20Player\wmplayer.exe";
var oShell = new ActiveXObject("Shell.Application");
//var commandtoRun = "C:\Windows\notepad.exe";
oShell.ShellExecute(comando, "", "", "open", "1");

ale pojawia się błąd ...

0x800A01AD - Błąd czasu wykonania w JavaScript: Serwer automatyzacji nie może stworzyć obiekt

wszelka pomoc, którą docenię

Odpowiedzi:

2 dla odpowiedzi № 1

Obawiam się, że nie można używać ActiveXkontrola w JavaScript Aplikacje Windows Store w ten sposób. Aplikacje ze Sklepu Windows są odizolowane od systemu i nie mogą uruchamiać dowolnego kodu spoza kontenera aplikacji. W ten sposób byłoby zbyt łatwo wprowadzić złośliwe oprogramowanie.


1 dla odpowiedzi nr 2

Możesz to trochę ściągnąć, jeśli znaszpowiązanie określonego typu pliku. Jeśli spakujesz plik z rozszerzeniem skojarzonym z aplikacją docelową, możesz poprosić aplikację WinJS, aby go otworzyła, co spowoduje uruchomienie powiązanej aplikacji w celu otwarcia pliku. Niektóre oczywiste rozszerzenia są wykluczone, takie jak .exe, .msi itp.

Ten kod spróbuje otworzyć plik .txt w dowolnej aplikacji powiązanej z tym rozszerzeniem:

var txtFile = "Assets\myFile.txt";

Windows.ApplicationModel.Package.current.installedLocation.getFileAsync(txtFile).then(
function (file) {
Windows.System.Launcher.launchFileAsync(file).then(
function (success) {
if (success) {
// File launched
} else {
// File launch failed
}
});
});

Nie jest to idealne rozwiązanie, ponieważ nie można kierować na konkretną aplikację, można uruchomić tylko dowolną aplikację powiązaną przez użytkownika z tym typem pliku, ale może być przydatna w pewnych okolicznościach.