ZitatOriginal von wind-hund
wo ich zum TCPMP Deinen Code verwurstet habe.
Oh Nein!!!!
Das war ein Auszug aus meinem C-Sourcecode und kein neuer Parameter!!!
Bitte noch etwas Geduld!
Stefan
ZitatOriginal von wind-hund
wo ich zum TCPMP Deinen Code verwurstet habe.
Oh Nein!!!!
Das war ein Auszug aus meinem C-Sourcecode und kein neuer Parameter!!!
Bitte noch etwas Geduld!
Stefan
ZitatAlles anzeigenOriginal von StefanDausR
Oh Nein!!!!
Das war ein Auszug aus meinem C-Sourcecode und kein neuer Parameter!!!
Bitte noch etwas Geduld!
Stefan
Sah aber so schön aus :gap :gap
:gap :gap ! Keine Panik, so sind sie halt, die DAUs - wollen immer was zum Spielen ... ![]()
@M.G.: Aha, das wußte ich nicht! ![]()
ZitatAlles anzeigenOriginal von StefanDausR
Hallo m.g,
kommt noch...
Hier nur der Ausschnitt aus meinem Sourcecode (nur zum Testen...)
hWnd=FindWindow(NULL,L"TCPMP");
SetWindowPos(hWnd, HWND_TOPMOST, GetSystemMetrics(SM_CXSCREEN)/2-10, 10, GetSystemMetrics(SM_CXSCREEN)/2, GetSystemMetrics(SM_CYSCREEN)*3/4, SWP_SHOWWINDOW|SWP_DRAWFRAME);
Gruß,
Stefan
@Stefan:
Du Schelm! Da kann ich lange in den Einstellungen suchen...
@wind-hund:
Ich weiß nicht genau wo und wie Du da etwas an Koord übergeben wolltest - aber hier hat Stefan etwas aus seinem PellesC SourceCode veröffentlicht...
Gruß,
m.g
ZitatOriginal von StefanDausR
Das war ein Auszug aus meinem C-Sourcecode und kein neuer Parameter!!!
![]()
Hallo an alle,
die schon mal testen wollen!
Ich habe eine neue Test-Version erstellt (V1.08 Rev.0), mit der man nun Tastaturbefehle an Anwendungen senden kann:
Hier kommt nun der neue Parameter:
SendKey=
(Der Parameter muss der letzte sein!)
Hiermit kann man sog. virtuelle Keycodes an eine bestimmte Anwendung senden. Außerdem gibt es ein paar Steuercodes um die Anwendung zu bestimmen.
Ein Key oder Code wird durch "\" eingeleitet und getrennt.
Das "Senden" hat den Vorteil, das die Zielanwendung (unter best. Voraussetzungen) vollkommen im Hintergrund bleiben kann (z.B. für MP3-Wiedergabe)!
Am einfachsten mache ich ein paar Beispiele:
F6 an das Hauptfenster senden (=Sprachlautstärke erhöhen):
Window=0 SendKey=\0x75
0x75 ist die "hex-Darstellung" der Taste "F6"
Das Fenster des "TCPMP" finden und "Return" senden (=Play / Pause):
Window=0 SendKey=\fTCPMP\13
\f <Fenstername der Anwendung>\ findet den Handle des angegebenen Fensters und sendet die "Return-Taste" (13 bzw. 0x0D)
An der "Fensterlage" (Z-Reihenfolge) wird dabei nichts geändert, d.h. es kann auch im Hintergrund sein.
Ein gewähltes Handle bleibt solange gültig bis ein anderes gewählt wird!
Mit \f\ wird das Hauptfenster gewählt. Wichtig dabei ist, dass Zeichen an das Hauptfenster nicht gesendet sondern simuliert werden. Das wird für die Ansteuerung von Menüs benötigt!
Nächsten Titel (als Menü-Funktion) wählen:
Window=0 SendKey=\fTCPMP\a0x12\f\0x28\0x28\0x0D
Jetzt wird's interessant - folgendes passiert:
- das TCPMP-Fenster wird gesucht
- Alt-Taste (=Auswahl des Menüs) wird gesendet (Achtung: spezielle Syntax \a<Tastencode> für gleichzeitige Betätigung von "Alt")
- Hauptfenster wird mit \f\ gewählt (auch das Menü eines verborgenen Fensters erscheint im Hauptfenster!)
- nun wir zweimal "Cursor nach unten" (=0x28) simuliert
- schließlich noch die Eingabetaste/Return (=0x0D)
War das Zielfenster vorher im Hintergrund, so wird dieses nicht nach vorne geholt, lediglich das Menü erscheint ganz kurz!
Fenster-"lage" und -größe ändern: (s. Bild)
Window=0 x=50 y=185 h=62 w=380 SendKey=\fTCPMP\p-1\
x= y= ist die linke obere Fensterecke
h= w= ist Fensterhöhe und -breite (width)
Ausgewertet werden die Parameter in Verbindung mit \p<Z-Reihenfolge>\
Folgende Werte sind definiert:
0 = HWND_TOP
1 = HWND_BOTTOM
-1 = HWND_TOPMOST (immer im Vordergrund, ähnlich der Taskleiste!)
-2 = HWND_NOTOPMOST
hiermit kann man angeben, wie sich das Fenster in der Z-Reihenfolge einordnen soll.
Nun viel Spaß beim testen...!
Edit: Zur zeitlichen Abfolge: Der SendKey= wird zwischen LKlick3= und LKlick4= ausgeführt!
Gruß,
Stefan
ZitatOriginal von StefanDausR
Nun viel Spaß beim testen...!
Da bleibt einem ja die Luft weg! Kein Wunder, daß das Update von Medion/Elektrobit so mager ausfällt.
Gruß,
m.g
ZitatOriginal von StefanDausR
Hallo an alle,
die schon mal testen wollen!
Wahnsinn!!! Sobald ich zu Hause bin, werde ich das mal testen!!!
Ganz großer ![]()
Ach Du meine Güte... SendKey und HWND. Jetzt machen wir ihn ganz kaputt ;D
Ich hatte doch noch irgendwo einen C++ Schmöker rumstehen... ![]()
ZitatOriginal von BroadwayLamb
Jetzt machen wir ihn ganz kaputt
Wen machst Du kaputt? Mich oder das Navi?
Gruß,
Stefan
ZitatOriginal von StefanDausR
Wen machst Du kaputt? Mich oder das Navi?
Nicht doch, "Jetzt helfe ich mir selbst" war/ist doch die Buchreihe für den Hobby-Schrauber... von bösartigen Zeitgenossen auch schon mal "Jetzt mach ich ihn ganz kaputt" genannt... oft durchaus mit einiger Berechtigung ;D
Aber das passiert uns natürlich nicht ![]()
Gruß
BL
Mann, oh Mann! Hier geht's ja jetzt richtig ans Eingemachte! ![]()
Fehlt eigentlich nur noch, daß wir demnächst auch noch direkt auf der CE-API aufsetzen können! ;D
ZitatOriginal von Ralf25
Fehlt eigentlich nur noch, daß wir demnächst auch noch direkt auf der CE-API aufsetzen können!
Ähm - das Nutzen der vom Betriebssystem vorgegebenen Routinen (API) ist ja die Grundlage des Programmierens einer Anwendung...
Gruß,
Stefan
ZitatOriginal von StefanDausR
Ähm - das Nutzen der vom Betriebssystem vorgegebenen Routinen (API) ist ja die Grundlage des Programmierens einer Anwendung...
Gruß,
Stefan
Logisch, jede IDE setzt zwangsläufig auf der API auf, sonst wäre ja keine 'Windows-Programmierung' möglich. Aber eine IDE stellt mit seinen Bibliotheken diesen Zugriff nur zur Verfügung. Und ich meinte einen direkten Zugriff ohne Kapselung, vergleichbar mit einer Plattform-SDK, der es uns z.B. ermöglicht, direkt, wie bei der Treiberprogrammierung, die Hardwareschicht anzusprechen, z.B. zum Dimmen/Abschalten der Hintergrundbeleuchtung bei reinem mp3-Betrieb.
Ich weiß, ist etwas weit hergeholt. ![]()
Hallo Ralf,
Du hattest von der CE-API gesprochen und daher bin ich von der Betriebssystemebene (WinCE) ausgegangen. Für alles, was noch tiefer in die Hardware hineingeht, bräuchte man genauere Infos!
Ich weiß z.B. nicht, ob es hardwaremäßig überhaupt vorgesehen ist, dass die Beleuchtung bei laufendem PNA ganz abgeschaltet werden kann.
Aber vielleicht bringen wir das ja noch heraus.
Gruß,
Stefan
Hallo Stefan,
hast recht, da war ich etwas ungenau, WinCE nutzt ja nur eine Teilmenge der eigentlichen WIN32 API. ![]()