Adobe AIR do wykonania programu
Chciałbym nacisnąć przycisk z aplikacji Adobe AIR i uruchomić jakiś zainstalowany program. Na przykład miałbym przycisk o nazwie "Start Winamp". Po naciśnięciu należy uruchomić Winampa.exe bezpośrednio...Nie chcę, żeby coś z linii poleceń zostało wykonane, chcę tylko, żeby uruchomił się exe. Or...is to to samo ? Proszę dać mi znać, jeśli to możliwe.
Dziękuję.
10 answers
Nie ma na to bezpośredniego sposobu. Spróbuj CommandProxy .
Przeczytaj post na blogu bardzo uważnie. Naprawdę musisz utworzyć dwa różne projekty: natywny program wykonywalny systemu operacyjnego i aplikację AIR. Natywny plik wykonywalny uruchamia aplikację AIR. Aplikacja AIR z kolei żąda od programu wykonywalnego przetwarzania żądań na poziomie systemu operacyjnego.
Pobierz źródło z Google Code i stwórz dwa projekty-Visual Studio / Mono dla przykładowego C # exe i inny -- dla Zastosowanie powietrza. tutaj {[9] } jest link, który opisuje, jak skonfigurować pierwszy.
W głównym pliku MXML aplikacji AIR należy wykonać następujące czynności:
Utwórz obiekt
CommandProxy
, dodaj kilka detektorów zdarzeń w celu wykrycia połączenia oraz odpowiedź i błądCommand
.-
Połączenie z natywnym exe poprzez
connect
wywołanie -
W obsłudze zdarzenia dla
connect
, Utwórz NowyCommand
np.ScreenshotCommand
i wykonaj go (poprzezCommandProxy.execute
metoda)
... i to wszystko!
Mam nadzieję, że to pomoże.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-26 03:10:49
Z AIR 2.0 możesz teraz:
if(NativeProcess.isSupported)
{
var file:File = File.desktopDirectory;
file = file.resolvePath("StyleLookupold.exe");
var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
nativeProcessStartupInfo.executable = file;
var process:NativeProcess = new NativeProcess();
process.start(nativeProcessStartupInfo);
}
Musisz również dodać to do pliku deskryptora.
<supportedProfiles>extendedDesktop</supportedProfiles>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-12-17 15:25:43
Odpowiedź składa się z dwóch części. Jeden, jeśli naprawdę musisz uruchomić .plik exe, jedynym wyjściem jest użycie polecenia proxy. Osobiście, używanie jednego w. Net/Mono jest trochę przesadzone. Nie znam Mono, ale poproszenie użytkowników o zainstalowanie. Net i AIR odstraszyłoby ich prawie wszystkich. Poza tym, jeśli miałem poprosić użytkowników o zainstalowanie Mono, dlaczego po prostu nie napisać UI W Mono i mieć z tym koniec...?
Możesz napisać proste polecenie proxy w Rubim, które naprawdę byłoby cross-platform i niski kłopot w około 5 minut (po prostu to zrobiłem, jeśli chcesz Kod komentarz mnie tutaj, a ja go opublikować). Jeśli chcesz kontrolować proces po jego uruchomieniu, jest to poważniejsze przedsięwzięcie. Do dystrybucji itp., Uważam, że Ruby byłoby łatwiejsze.
Z drugiej strony, sprawdź ten pomysł . Jeff sugeruje użycie żądania URL od AIR. Zasadniczo, jeśli twoja przeglądarka zinterpretuje ją poprawnie, jesteś gotowy do pracy. Kod wygląda następująco this
var request : URLRequest = new URLRequest('C:\\playlists\\test.m3u');
Myślę, że przy odrobinie kreatywności (szczególnie z typami Mime), to drugie rozwiązanie może działać nawet dla Winampa (np.., playlistę czy coś).
Powodzenia i dziękuję za pytanie, które pewnie jest dupą, ale Google znalazł tylko to, więc wygrałeś:)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-07-20 10:14:38
Myślę, że fluor robi to, co chcesz: http://aperture.fluorinefx.com/?p=5
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-08-05 13:56:22
AIR 2.0 będzie miał taką możliwość.
Oczekuje się, że ukaże się w wersji beta do końca roku (2009) i ukaże się w pierwszej połowie 2010 roku.
Http://blogs.adobe.com/air/2009/10/previewing_adobe_air_2_at_adob.html
Native process API Począwszy od środowiska AIR 2 programiści będą mieli dostęp do natywnego interfejsu API procesów, który umożliwi aplikacjom Wywoływanie aplikacji natywnych na maszynie lokalnej i komunikowanie się z nimi. W celu zachowania wielopoziomowego charakteru .format pliku air, aplikacje korzystające z natywnego interfejsu API procesów muszą być wdrożone jako natywne instalatory, takie jak .exe i .dmg. Zestaw środowisk wykonawczych środowiska AIR będzie zawierał obsługę generowania podstawowych natywnych instalatorów.
Zobacz ten wpis na blogu: Uruchom plik exe z AIR
Krótkie podsumowanie:
" jeśli naprawdę potrzebujesz uruchomić zewnętrzny plików exe i nie ma innego sposobu rozwiązania Twojego problemu, wtedy będziesz upewnij się, że użytkownik uruchamia to kolejne oprogramowanie przed uruchomieniem Zastosowanie powietrza."
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-23 02:23:00
W tej chwili nie da się tego zrobić natywnie z powietrzem. Są jednak pewne opcje:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-23 02:26:44
Innym sposobem jest uruchomienie prostego serwera www na lokalnej maszynie (w tle) i wywołanie jego metod za pomocą HTTPService.
Serwer tła może być na przykład w Pythonie: http://fragments.turtlemeat.com/pythonwebserver.php
I może uruchamiać pliki wykonywalne i zapewniać funkcje, których AIR nie może.
To utrzymuje czysty kod Flex, ponieważ implementuje tylko interfejs REST i python (lub inny język) resztę pracy. Można również skorzystaj z używania Pythona jako interfejsu do bazy danych sqlite lub możesz uruchomić całe django jako serwer WWW.
Jedyną wadą jest to, że serwer musi być już uruchomiony na localhost .. i słuchanie jakiegoś portu (tj. 81). prawdopodobnie możesz to zrobić uruchamiając serwer przy starcie systemu.
To nie jest najlepszy sposób, ale w niektórych przypadkach może pomóc Twojemu projektowi, tak jak zrobił to dla mnie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-02-10 09:22:45
W mac os x, jeśli chcesz uruchomićplik aplikacji, następnie musisz zapisać następującą ścieżkę do pliku. (Załóżmy, że nazwa aplikacji to xxx)
if(NativeProcess.isSupported)
{
//not correct
//file = file.resolvePath("/Applications/xxx.app");
//correct
file = file.resolvePath("/Applications/xxx.app/Contents/MacOS/xxx");
var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
nativeProcessStartupInfo.executable = file;
var process:NativeProcess = new NativeProcess();
process.start(nativeProcessStartupInfo);
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-27 13:45:29
Lub po prostu moja strona Tworzenie niestandardowego instalatora do nowej aplikacji Czytaj więcej
Bonus Tip: Zalecamy korzystanie z Enigma Virtual Box, ponieważ jest bezpłatny i jest bardzo dobry do wirtualizacji aplikacji lub Exe-Packer jak BoxedApp Packer, ale kosztuje bardzo dużo niż Enigma Virtual Box dzięki!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-06 17:50:09