Wątek przeniesiony 2017-02-02 10:44 z C# i .NET przez somekind.

Przechwytywanie wyniku z apletu Javy

0

Witam,

Mam taki problem. Mam urządzenie, które ma swój własny interfejs. Dostęp jest realizowany przez podłączenie się przeglądarką pod adres ip urządzenia. efekt jest taki, że otrzymuję ekran z pewnymi informacjami. To mogę sobie odczytywać i śledzić ale nie mogę tego kolekcjonować. Potrzebuję zrobić jakiś mechanizm, który co jakiś czas odczyta stan takiego okna i przetworzy ?
Wiem wielu powie o print-screenie. A potem ew. translacja tego to tekstu. Za dużo błędów. Może się da zrobić jakąś przeglądarkę własną umożliwiającą przechwycenie takiej grupy danych z ekranu ?

pozdrawiam wszystkich

0

Do twoich zastosowań idealnie na da się WebBrowser (System.Windows.Controls.WebBrowser) - wczyta Ci stronę i będziesz miał dostęp do DOM z którego odczytanie potrzebnych informacji to już igraszka.

0
  1. Jaki ma z tym związek JavaScript?
  2. Czyli tak naprawdę nie potrzebujesz żadnego okna, a jedynie przetwarzać dane spod urla? Zainteresuj się klasą HttpClient.
0

Witam ponownie,

Bardo dziękuję za odpowiedzi.
Z WebBrowserem. to nie taka prosta sprawa, ponieważ nie ma przetwarzania - skryptu. Pod adresem IP jest webserver, który wykonuje jakąś funkcję autostartu. Ona wymaga zainstalowanego najnowszego silnika Javy, i dopiero po 2 okienkach (oczekujacych na reakcję użytkownika), wypluwa wyniki.

O HTTPClient, nie pomyślałem - chociaż zastanawiam się jak nie będzie silnika javy czy to zwróci dobre wyniki czy śmietnik. ?

0

Masz na myśli, że na stronie jest jakiś aplet Javy, i to jego chcesz uruchomić i wyciągnąć jego wyniki?

0

dokładnie tak jest...

0

nikt nie odpisał - więc rozumiem, że rozwiązania problemu pomysłów brak.

0

po pierwsze to są dwie różne rzeczy JavaScript po stronie przeglądarki (co można próbować odczytać) a applet JAVA czego raczej nie odczytasz. Większość urządzeń (z jakimi miałem do czynienia), które miały dostęp przez applet JAVA miały też dość dobrze opisane np. rejestry, które można było odczytać z własnego programu

0

Ponieważ autor przyznał, że tak naprawdę chodzi o współpracę z apletem Javy, to przenoszę do bardziej odpowiedniego działu.

0

Jeśli to Ci wystarczy, to mogę podać jak przy pomocy JavaScript odczytać co zrobił aplet.

1

Z opisu troszkę wygląda jak Java Web Start. Jak pojawiają Ci się tam linki do czegoś typu **.jnlp **albo okna z napisem Java Web Start
to może być to trochę skomplikowane.

0
bogdans napisał(a):

Jeśli to Ci wystarczy, to mogę podać jak przy pomocy JavaScript odczytać co zrobił aplet.

co zrobił, czy jak można to przejąć ?

Każda wskazówka cenna...

0

Zakładam, że albo znasz API apletu albo potrafisz je poznać (tzn. potrafisz zdekompilować aplet).
Pierwszy prosty przykład, JavaScript wywołuje metody niewidocznego apletu i odczytuje ich wyniki.

<script type="text/javascript">
function getScreenDimension()
{
	aplet = document.getElementById("myApplet");
    alert("Screen Dimension\r\n  width:"+aplet.getScreenWidth()+" height:" +aplet.getScreenHeight());
}
</script>
...
<form>
<input type="button" value="Uruchomienie apletu" onclick="getScreenDimension()">
</form>
<applet code="ScreenDimension" id="myApplet" height="0" width="0">
</applet>
import java.awt.*;
import java.applet.*;

public class ScreenDimension extends Applet
{
    public int getScreenWidth() 
    {
        return Toolkit.getDefaultToolkit().getScreenSize().width;
    }
    public int getScreenHeight() 
    {
        return Toolkit.getDefaultToolkit().getScreenSize().height;
    }
}
0

Dziękuję za odpowiedź, spróbuję ten skrypt wykorzystać, może w ten sposób coś uzyskam...
pozdrawiam serdecznie,

1 użytkowników online, w tym zalogowanych: 0, gości: 1