Juejae hat geschrieben:
Klasse, wir sind auf einer Wellenlänge. Ich hab folgende Lösungsansätze mitgenommen:
1. Ansatz:
Das hab# ich schon begriffen und stehe mit mehreren pot. Hardwarelieferanten in Email Kontakt. Versprochen, ich gebe Euch eine Info, auch wenn es negativ ausgeht.
JA das ist der richtige Weg !
Juejae hat geschrieben:
2. Ansatz:
Nach meinen Kenntnisstand ist die API ein Softwareinterface für MS Produkte
Nein, API (Advance Programmer Interface) heisst lediglich "Beschreibung der Schnittstelle",
den woher sollst du den sonst wissen welche Function oder Methode es gibt und wie, welche
Parameter aussehen die du übergeben musst.
Juejae hat geschrieben:
Nun wollte ich über activeX eine Komponente des WMP nutzen, um die Events am USB Port
abzufangen, aber eben nicht den WMP zuleiten, sondern meiner Anwendung. Wenn meine
Anwendung den Event dieses Tastendruckes erhält, macht sie eben nicht was der Media Player
tut, sondern ihr Ding.
lassen wir zunächst mal den USB Teil weg ... Um Events abzufangen braucht man einen Event
Handler über den die meisten activeX verfügen. Um jetzt an einen activeX Event aus Xbase++
"ranzukommen" wird zunächst geprüft mit :isEventPublished() ob der gewünschte Event verfügbar
ist und man erhält eine nDISPID, anderfalls 0.
Wenn es also > 0 ist wird mit :subscribeEvent() "ein COM/ActiveX-Ereignis abonniert". Tritt nun
dieses Ereigniss ein so wird der vorgegebene Codeblock ausgeführt.
Den :comDefaultHandler() hab ich hier einfach mal weggelassen (siehe im SubForum MapPoint )
Es wird also nichts "am USB" Port gemacht ausser Daten weiterzuleiten und man sollte auch von
HID (Human Interface Design) Gerät sprechen den so "melden" sich die "Geräte" im Geräte-
Manager.
Juejae hat geschrieben:
Wenn die kommenden Signale eben den von AUGE_OHR X10 Standard kann die API sie auch verarbeiten.
vergiss doch mal "USB" oder "Signale" ... das ist alles "Hardware" die dich nicht kümmern sollte.
Die soll nur einfach funktionieren. Es geht doch um die Events die "aus der Hardware" über die
API (von "der" Hardware") zu erreichen sind ob du an die "rankommst".
Der X10 Standard nutzt nun auch die WM_COMMAND API wie sie M$ für seine "multimedia" Geräte
vorgeschlagen hat und vieler Hersteller z.b. für Tastaturen oder "TV-remote" Control verwenden
nun genau diese API aber jeder Hersteller hat nun wieder "seine" *.DLL dafür.
Juejae hat geschrieben:
Auf dem Hostcomputer wird nie eine Multimedia Anwendung laufen, somit wäre Konfliktfreihei gegeben.
hm ... ok es kann auch ein Kühlschrank mit X10 Standard sein ... der "Empfänger" muss nur den
Event "verstehen".
... du sagtes ja was von "umleiten" in deine Application ... ich fürchte fast du beabsichtigst die
Events "zu verbiegen" ... vergiss es !!! Wenn du auf der "Fernbedienung" z.b. "play" drückst dann
wird IMMER der WMP anspringen wenn es dem im System gibt. Deshalb hat z.b. WinAMP auch
völlig andere Events (irgendwo hier im Forum hab ich darüber mal geschrieben ...)
Juejae hat geschrieben:
3. Ansatz
Das war die Geschichte mit dem WinLIRC-Server der die Schnittstelle im Hintergrund überwacht. Da hab' ich verstanden, dass diese Software das IMHO Protokoll versteht, d.h. andersrum meine Hardware für die Infrarotübertragungsstrecke muß diese Protokoll akzeptieren. Diesen Weg will ich gehen, wenn Ansatz 1 fehlschlägt.
IRDa ist einfach nicht mehr aktuelle und wenn du schon mit Netzwerk Protokollen arbeiten willst
dann gleich mit TCP/IP ... das Protokoll wird übrigens von X10 Standard ebenfalls benutzt.
Da ich immer noch nicht genau verstanden habe was du nun genau "verwerten" willst und "wie"
kann ich dir auch keinen Tip für die Hardware geben. Ich habe z.b. auch IR Tastaturen benutzt
wo man "Makro´s" hinterlegen konnte ... oder RF "TV-remote" Control die "lernfähig" sind.