realone在线播放连接时,可能因服务器太忙而要反复的连接,我希望编个程序让realone自动去连接。
我原来想先得到realone的窗口,然后枚举子窗口,这样找到播放按钮,然后向按钮发送点击的消息。可是我发现枚举子窗口的时候什么都没得到。请各位指点一下该怎样实现这个功能。
另外我按该思路在realplay plus 8.0中已经实现了。现在就是在realone中不行。
我用的一下两个api实现枚举窗口和子窗口的。
EnumWindows( (WNDENUMPROC)EnumWindowsProc,0);
EnumChildWindows(hWnd,(WNDENUMPROC)EnumChildProc,0);
谢谢各位指点。

解决方案 »

  1.   

    我很想帮忙领分,可是我没装realone哪
      

  2.   

    把real控件加到你的程序中,在试试OnClipClosed 事件BEGIN_EVENTSINK_MAP(CPlayrmDlg, CDialog)
        //{{AFX_EVENTSINK_MAP(CPlayrmDlg)
    ON_EVENT(CPlayrmDlg, IDC_REALPLAYER1, 303 /* OnClipClosed */, OnOnClipClosedRealplayer1, VTS_NONE)
    //}}AFX_EVENTSINK_MAP
    END_EVENTSINK_MAP() CString source;
    m_lFiles.GetText(index,source);
    m_player.SetSource(source);
    SetWindowText("PlayRM-- play "+source);
    //  m_player.SetSource("Avseq03.rm");
    m_player.DoPlay();我做的是播放不同的文件,即一个rm结束后播放下一个,不知道对于你说的网络拥挤的情况是否有效,仅供参考
      

  3.   

    to masterz:谢谢,你说得我还不太明白,你说的是自己编一个程序来控制realone的行为吗?我不太理解在自己的程序里面加上一个控件怎么就可以控制另一个程序的行为呢?
    我自己认为我前面说的思路应该是比较自然的一种想法,可是我实现不了,另有一种想法就是向realone的窗口的播放按钮区域发送鼠标点击消息,并通过该区域的颜色变化来判断连接状态,不过这样是不是太复杂了一点,希望各位多提点建议。