Jump to content

Kann man DVBViewer Fernsteuern und Abfragen?


meilon

Recommended Posts

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

Link to comment

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

Link to comment
Guest Lars_MQ

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.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...