| |
VB & Windows APIBusy Status fremder Anwendungen ermitteln | | | Autor: stev-e87 | Datum: 07.09.12 15:47 |
| Hallo Community,
ich möchte eine fremde Applikation (Java) für ein paar wenige Handgriffe fernsteuern mit Sendkeys (Die Applikation lässt sich gut mit Tastenkürzeln bedienen). Leider scheint es so, dass Java zu träge ist, um die Anweisungen ordentlich zu verarbeiten. So z. B.
AppActivate "Anwendungsname", True
DoEvents
SendKeys "%i", True
DoEvents
SendKeys "^v", True mal klappt es, häufiger aber eher nicht. Deshalb nehme ich an, dass auch mit doEvents zu wenig Zeit vergeht. Bevor ich meine RemoteApp nun unnötig ausbremse und mit
Do ... While irgendeine Zeitvorgabe möchte ich die APIs bemühen. Kennt jemand eine Lösung den Aktivitätsstand einer Anwendung zu lesen(CPU-Usage)? Quasi
SendKeys "%i", True
DoEvents bis CPU-Usage = 0
SendKeys "^v", True Freue mich auf Anregungen. | |
Re: Busy Status fremder Anwendungen ermitteln | | | Autor: stev-e87 | Datum: 08.09.12 13:50 |
| Hallo Martoeng,
das ist ja nicht so schön Kannst du mir noch etwas auf die Sprünge helfen warum nicht? Ist es einfach nicht vorgesehen, kann man eine direkte Ablehnung dessen irgendwo nachlesen?
Besten Dank bis hierhin. | |
Re: Busy Status fremder Anwendungen ermitteln | | | Autor: Martoeng (Moderator) | Datum: 08.09.12 14:24 |
| SendKeys hat in der Windows-Welt eigentlich überhaupt nichts zu suchen. Andere Programme so fernzusteuern ist ein absolutes No-Go, da man eben nicht garantieren kann, dass die andere Anwendung bereit für die Eingabe ist und der Nutzer nicht evtl. etwas dazwischen macht oder evtl. auch das Betriebssystem oder andere Programme (bspw. in den Vordergrund schieben). Es gibt also viel zu viele Unbekannte, als dass ein deterministisches Verhalten ableitbar wäre.
Einen "Busy-Status" abfragen... so etwas existiert halt einfach nicht. Das einzige, was Windows irgendwann mal feststellen kann ist, dass eine Anwendung momentan nicht mehr reagiert, weil sie die Events nicht mehr abarbeitet und die Warteschlange dementsprechend anwächst.
Java-Anwendungen sind dann nochmal sehr speziell, weil sie mit der JVM arbeiten und je nach verwendeter Bibliothek (Swing oder AWT) auch noch andere GUI-Implementierungen haben.
Um die Funktionen anderer Anwendungen zu nutzen, sollte man prüfen, ob
a) die Anwendung in Form einer Bibliothek vorliegt (DLL, etc.)
b) die Anwendung auf der Konsole ausgeführt werden kann und man so nicht von der GUI abhängig ist
c) falls a und b nicht zutreffen, ob die Funktionalität so wichtig ist und falls ja, ob sie sich nicht selbst nachbauen lässt
vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com. | |
Re: Busy Status fremder Anwendungen ermitteln | | | Autor: stev-e87 | Datum: 10.09.12 08:12 |
| Hi Martoeng,
danke für die Hilfe. Die Sendkeys Lösung funktioniert ganz gut, da es um keine Komplettautomatisierung geht und ich immer mit davor sitze. Soll nur vor Mausarthritis schützen. Die Java App ist nicht sehr bedienerfreundlich. Zurück zum Thema. Ich experimentiere mit GetPricesstimes und WMI. Mal sehen. | |
Re: Busy Status fremder Anwendungen ermitteln | | | Autor: Blackbox | Datum: 10.09.12 21:59 |
| Hi,
zu einem Teil hat Martoeng recht zu einem anderen Teil eben nicht.
Java-Programme die User-Ermüdend sind, einfach entfernen - wäre die richtige Lösung.
Das lehrt die JAVA-Programmier endlich dazu, dass sie benutzerfreundliche GUI's zu coden hätten,
wozu diese Typen meiner Meinung nach nicht im Stande sind.
Ich bin selbst Leidender und aber sicher dazu imstande Änderungen zu machen und so manch Java-Window zu steuern. Aber wozu? ...
Web-Scripter sind Unmenschen. Lebe damit.
mfg
Blackbox
Beitrag wurde zuletzt am 10.09.12 um 22:04:44 editiert. | |
Re: Busy Status fremder Anwendungen ermitteln | | | Autor: Blackbox | Datum: 11.09.12 20:43 |
| hi,
sry. Aber kann es sein, dass Du ein falsches Forum moderierst?
Andererseits verstehe ich den Fragesteller völlig. JAVA ist lahm in einer WIndow-Plattform
Beitrag wurde zuletzt am 11.09.12 um 21:03:51 editiert. | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
Neu! sevPopUp 2.0
Dynamische Kontextmenüs!
Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Weitere InfosTipp des Monats März 2024 Dieter OtterUTF-8 Konvertierung von Dateien und StringsVB6 selbst verfügt über keine Funktionen zur UTF-8 Konvertierung von Daten. Mit Hilfe des ADODB.Stream-Objekts lassen sich diese fehlenden Funktionen aber schnell nachrüsten. TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|