PDA

View Full Version : DirecTV serial control utility



Mark F
October 13th, 2002, 12:55 PM
It appears that this application also has a PostMessage interface. This means the Girder SendMessage plugin might be able to send commands directly to the application without using hotkeys.

There is some source for a "mini control panel" application on the referenced web page that shows the commands that can be sent. Here is a list of the commands:


#define IDC_ALT_AUDIO 0x84F
#define IDC_FETCH 0x86C
#define IDC_RIGHT 0x89A
#define IDC_LEFT 0x89B
#define IDC_UP 0x89C
#define IDC_DOWN 0x89D
#define IDC_FAV 0x89E
#define IDC_SELECT 0x8C3
#define IDC_OFF 0x8C4
#define IDC_DSS 0x8C5
#define IDC_9 0x8C6
#define IDC_8 0x8C7
#define IDC_7 0x8C8
#define IDC_6 0x8C9
#define IDC_5 0x8CA
#define IDC_4 0x8CB
#define IDC_3 0x8CC
#define IDC_2 0x8CD
#define IDC_1 0x8CE
#define IDC_0 0x8CF
#define IDC_CH_UP 0x8D2
#define IDC_CH_DOWN 0x8D3
#define IDC_POWER_TOGGLE 0x8D5
#define IDC_PREVIOUS 0x8D8
#define IDC_GUIDE 0x8E5
#define IDC_MENU 0x8F7
#define IDC_CLEAR 0x8F9
#define IDC_TV_SAT 0x8FA

According to the code, you need to target the "DirecTV Control" window. In the SendMessage interface, the message number should be (WM_COMMAND; 0x0111) 273, the wParam should be one of the values from above (plus BN_CLICKED which is 0) and the lParam should be 0.

Using this interface might be more robust than the keyboard stuff. Of course I don't have any of this stuff so I can't try it out but give it a try. It might work. :)

hindif
October 13th, 2002, 12:55 PM
I've got a DirecTV receiver next to my home theater pc in the basement. I'm using an application called dtvcon (http://www.pcmx.net/dtvcon/) to control the receiver from my PC's serial port. dtvcon has hotkeys for various satellite receiver functions, such as alt-e for 'menu'. I want to use Girder to send these hotkeys to dtvcon which will then control the DirecTV receiver.

I've confirmed dtvcon works properly using its GUI, as well as sending hotkeys from the keyboard. However it doesn't receive the keystrokes when I send them through Girder. When I set the target to 'Foreground Application', it works fine. However, this isn't feasible because dtvcon will be minimized and not always running in the foreground.

I've used the 'Target' function before without a problem. I specify the one and only window as the target, and tried various combinations of Window name, executable name, and so on. I know I've got that part correct. For some reason, when dtvcon is running, Girder doesn't send keystrokes to any application.

any ideas?

hindif
October 13th, 2002, 12:55 PM
Thank you very, very much--your suggestion worked like a charm!