我想做一个小程序,向Windows media player 发送 Ctrl+P 快捷键,让其暂停。请问,如何实现,能给个代码吗?

解决方案 »

  1.   

    直接用 Windows Media Player 控件不行吗?
      

  2.   

    我觉得你还是发消息控制他的菜单比较好,控制菜单要好弄一些吧。发送 Ctrl+P 要稍微麻烦一些的。
      

  3.   

    SendInput
    不过你要先设置键盘输入焦点
      

  4.   

    <00645> 00500F4 P WM_KEYDOWN nVirtKey:VK_CONTROL cRepeat1 ScanCode:1D fExtended:0 fAltDown:0 fRepeat:0 fUp:0
    <00646> 00500F4 P WM_KEYDOWN nVirtKey:'P' cReqpeat1 ScanCode:19 fExtended:0 fRepeat0 fUp:0
    <00647> 00500F4 P WM_PAINT hdc:00000000
    <00648> 00500F4 S.............................................................................WM_ERASEBKGND hdc:50011C5C
    <00649> 00500F4 R.............................................................................WM_ERASEBKGND fErased:True
    <00650> 00500F4 P WM_PAINT hdc:00000000
    <00651> 00500F4 P WM_PAINT hdc:00000000
    <00652> 00500F4 P WM_KEYUP nVirtKey:'p' cRepeat1 ScanCode:19 fExtended:0 fAltDown:0 fRepeat1 fUp:1
    <00653> 00500F4 P WM_PAINT hdc:00000000
    <00654> 00500F4 P WM_PAINT nVirtKey:VK_CONTROL cRepeat1 ScanCode:1D fExtended:0 fAltDown:0 fRepeat1 fUp:1
    我用Spy++ 获取了,当我按Ctrl+P 时的消息,但是我不知道如何写成程序中,请高人指点。
      

  5.   

    wfenj(小芬) 说的很清楚了!不会发消息?仔细看看 msdn 吧。
    CWnd::PostMessage Places a message in the window's message queue and then returns without waiting for the corresponding window to process the message.
     
    BOOL PostMessage(
       UINT message,
       WPARAM wParam = 0,
       LPARAM lParam = 0 
    );
     
      

  6.   

    获得MediaPlayer的HWND然后用SendMessage不行吗?