meilon Posted August 5, 2006 Share Posted August 5, 2006 Hallo! Wie bestimmt einige Programmierer wissen, kann man einigen anderen Programmen Befehle geben. WinAMP z.B. kann man eigentlich komplett über die Windows API SendMessage fernsteueren. Über die selbe Funktion kommt man auch an Infos wie die Songlänge etc heran. Jetzt möchte ich wissen, ob dass DVBViewer auch unterstützt, da ich für meine Logitech G15 Tastatur eine dll für LCD Studio schreiben möchte, mit der man einfach an die Infos wie aktueller Film, wann und was als nächstes kommt, den Sender etc. heraus bekommt. Im Film bzw. Musikmodus muss dann halt das entsprechende angezeigt werden. Hat DVBViewer eine solche Funktion und wenn ja, wie lauten die Werte der Konstanten für SendMessage? mfg meilon Quote Link to comment
Klausing Posted August 5, 2006 Share Posted August 5, 2006 jupp dafür gibt es eine COM Schnittstelle und eine Plugin API Quote Link to comment
Guest Lars_MQ Posted August 5, 2006 Share Posted August 5, 2006 In der Membrsarea gibt es die COM-Doku. Quote Link to comment
meilon Posted August 5, 2006 Author Share Posted August 5, 2006 Danke, hab ich übersehen Quote Link to comment
meilon Posted August 8, 2006 Author Share Posted August 8, 2006 So, hatte mal Zeit, das Auszuprobieren, hier der C++ Code: #include <windows.h> #include <iostream> #include <string> #include <stdlib.h> using namespace std; #define WM_DVBVIEWER 0xB2C2 #define MSG_REMOTE 0x00815 #define MSG_INIREFRESH 0x1020 #define MSG_EPGSAVE 0x1030 #define MSG_EPGCHANNEL 0x1031 #define MSG_SETSID 0x2100 #define MSG_GETSID 0x2101 #define MSG_STARTFILTER 0x2120 #define MSG_STOPFILTER 0x2130 #define MSG_VCR_GETCOUNT 0x2300 #define MSG_VCR_GETITEM 0x2301 #define MSG_VCR_SETITEM 0x2302 #define MSG_VCR_DELETEITEM 0x2303 #define MSG_GETCOLORKEY 0x2005 #define MSG_INILOAD 0x1020 #define MSG_INISAVE 0x1021 #define MSG_SHUTDOWN 0x2207 #define MSG_SETEPG 0x2310 #define MSG_GETEPG 0x2311 #define MSG_EPGSAVE 0x2312 #define MSG_EPGSAVEALL 0x2313 #define MSG_EPGLOAD 0x2314 #define MSG_VERSION 0x1018 #define MSG_GETVTPAGE 0x2200 #define MSG_AVSTATE 0x2213 #define MSG_DVBSTANDBY 0x2320 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { HWND hwndDvbViewer = FindWindow("TfrmMain",NULL); if (hwndDvbViewer == 0) { cout<<"I couldn't find DVBViewer"<<endl; } else { cout<<"I found DVBViewer"<<endl; int ret=SendMessage(hwndDvbViewer,0xB2C2,0x0815,100+27); //Vol Down! cout<<ret<<endl; } system("PAUSE"); return 0; } Wie im Comment zu sehen, kann man damit die Lautstärke verringern. Nur jetzt will ich nicht nur DVBViewer fernsteuern, sondern auch Infos daraus erhalten, nur wie geht das? Ich finde leider nichts! mfg Quote Link to comment
Guest Lars_MQ Posted August 8, 2006 Share Posted August 8, 2006 Die COM schnittstelle gibt das her über die Events und/oder die DataProperties. Ich hab die Doku grade nicht zur hand, aber man kann die Keylist über den IDatamanager abrufen um einen Überblick zu bekommen was definiert ist und dann gezielt die Values abfragen. Auch die Frosch skin kann als anhaltspunkt dienen. In der scripten und in der skin (datakeys erkennt man leicht durch das vorangestellte "#") hat frosch so einiges verbaut. Quote Link to comment
meilon Posted August 8, 2006 Author Share Posted August 8, 2006 Ah, öööhm, COM *hüstel* Wie komm ich da jetzt dran? Davon hab ich jetzt nicht gerade ne Ahnung? Hast du C++ Beispiele? mfg Quote Link to comment
Guest Lars_MQ Posted August 8, 2006 Share Posted August 8, 2006 Öhm nää leider nicht. Quote Link to comment
meilon Posted August 8, 2006 Author Share Posted August 8, 2006 K, dann werde ich es mal im Englisch-Sprachigen Forum Nachfragen.... Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.