Notice: This forum has been recovered from an old backup, so some content, links, and dates may be outdated. The forum is currently read-only while we restore sign-in and registration functionality. Details

If you find this forum valuable and would like to help keep it online, donations to help cover hosting and domain costs are greatly appreciated, but never expected. You can support the forum through Buy Me a Coffee or Ko-fi. Thank you for helping preserve the EventGhost community.

How to send WM_APPCOMMAND message

If you have a question or need help, this is the place to be.
Post Reply
arandazz
Posts: 3
Joined: Thu Apr 19, 2007 5:58 pm

How to send WM_APPCOMMAND message

Post by arandazz »

I am trying to use EventGhost for a FireFly remote (not mini). I have set it up to trigger keyboard keystrokes to control the programs I'm running.

Instead of triggering a keyboard keystroke when a button is pressed, can a button press trigger WM_APPCOMMAND message - similiar to the commands sent by a Microsoft Media Center remote?
User avatar
Bitmonster
Site Admin
Posts: 2239
Joined: Mon Feb 06, 2006 10:28 pm

Post by Bitmonster »

That's what the "SendMessage" action is for.
Please post software-related questions in the forum - PMs will only be answered, if really private, thanks!
arandazz
Posts: 3
Joined: Thu Apr 19, 2007 5:58 pm

Post by arandazz »

I found the action but am not sure how to use it.

How would I be able send the commands in the link:
http://msdn2.microsoft.com/en-us/library/ms646275.aspx

My goal is to set up some of the buttons with these generic commands so they will work with a number of differnt programs.
User avatar
Bitmonster
Site Admin
Posts: 2239
Joined: Mon Feb 06, 2006 10:28 pm

Post by Bitmonster »

First you need this list:

Code: Select all

#define APPCOMMAND_BROWSER_BACKWARD       1
#define APPCOMMAND_BROWSER_FORWARD        2
#define APPCOMMAND_BROWSER_REFRESH        3
#define APPCOMMAND_BROWSER_STOP           4
#define APPCOMMAND_BROWSER_SEARCH         5
#define APPCOMMAND_BROWSER_FAVORITES      6
#define APPCOMMAND_BROWSER_HOME           7
#define APPCOMMAND_VOLUME_MUTE            8
#define APPCOMMAND_VOLUME_DOWN            9
#define APPCOMMAND_VOLUME_UP              10
#define APPCOMMAND_MEDIA_NEXTTRACK        11
#define APPCOMMAND_MEDIA_PREVIOUSTRACK    12
#define APPCOMMAND_MEDIA_STOP             13
#define APPCOMMAND_MEDIA_PLAY_PAUSE       14
#define APPCOMMAND_LAUNCH_MAIL            15
#define APPCOMMAND_LAUNCH_MEDIA_SELECT    16
#define APPCOMMAND_LAUNCH_APP1            17
#define APPCOMMAND_LAUNCH_APP2            18
#define APPCOMMAND_BASS_DOWN              19
#define APPCOMMAND_BASS_BOOST             20
#define APPCOMMAND_BASS_UP                21
#define APPCOMMAND_TREBLE_DOWN            22
#define APPCOMMAND_TREBLE_UP              23
#define APPCOMMAND_MICROPHONE_VOLUME_MUTE 24
#define APPCOMMAND_MICROPHONE_VOLUME_DOWN 25
#define APPCOMMAND_MICROPHONE_VOLUME_UP   26
#define APPCOMMAND_HELP                   27
#define APPCOMMAND_FIND                   28
#define APPCOMMAND_NEW                    29
#define APPCOMMAND_OPEN                   30
#define APPCOMMAND_CLOSE                  31
#define APPCOMMAND_SAVE                   32
#define APPCOMMAND_PRINT                  33
#define APPCOMMAND_UNDO                   34
#define APPCOMMAND_REDO                   35
#define APPCOMMAND_COPY                   36
#define APPCOMMAND_CUT                    37
#define APPCOMMAND_PASTE                  38
#define APPCOMMAND_REPLY_TO_MAIL          39
#define APPCOMMAND_FORWARD_MAIL           40
#define APPCOMMAND_SEND_MAIL              41
#define APPCOMMAND_SPELL_CHECK            42
#define APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE    43
#define APPCOMMAND_MIC_ON_OFF_TOGGLE      44
#define APPCOMMAND_CORRECTION_LIST        45
#define APPCOMMAND_MEDIA_PLAY             46
#define APPCOMMAND_MEDIA_PAUSE            47
#define APPCOMMAND_MEDIA_RECORD           48
#define APPCOMMAND_MEDIA_FAST_FORWARD     49
#define APPCOMMAND_MEDIA_REWIND           50
#define APPCOMMAND_MEDIA_CHANNEL_UP       51
#define APPCOMMAND_MEDIA_CHANNEL_DOWN     52
wParam should always be 0.

The right lParam you get by multiplying the APPCOMMAND with 65536.

Let assume you want to get APPCOMMAND_BROWSER_REFRESH:
lParam = APPCOMMAND_BROWSER_REFRESH * 65536 = 3 * 65536 = 196608

And the "message" field has to stay on WM_APPCOMMAND of course.
Please post software-related questions in the forum - PMs will only be answered, if really private, thanks!
arandazz
Posts: 3
Joined: Thu Apr 19, 2007 5:58 pm

Post by arandazz »

Thank you for the help. I was able to setup the remote buttons to send the WM_APPCOMMAND messages.

Is there a way to send WM_INPUT messages? Some other commands such as "Details, DVD Angle, DVD Audio, DVD menu, ect.." would also be helpful. In the link below there is the complete list of commands: http://msdn2.microsoft.com/en-us/library/ms867196.aspx

Is there a way to send these?
User avatar
Bitmonster
Site Admin
Posts: 2239
Joined: Mon Feb 06, 2006 10:28 pm

Post by Bitmonster »

No chance. For WM_INPUT the target application has to register itself to the remote it wants to use. Since EG is no remote, no application would find it and therefore never tries to register to it.
Please post software-related questions in the forum - PMs will only be answered, if really private, thanks!
Post Reply