请问怎样用VC里面的鼠标事件触发flash里面的事件?求示例代码

解决方案 »

  1.   

    好像flash内嵌的脚本(Action Script)来控制鼠标事件
      

  2.   


    long CShockwaveFlash::GetReadyState()
    {
    long result;
    InvokeHelper(DISPID_READYSTATE, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
    return result;
    }long CShockwaveFlash::GetTotalFrames()
    {
    long result;
    InvokeHelper(0x7c, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
    return result;
    }BOOL CShockwaveFlash::GetPlaying()
    {
    BOOL result;
    InvokeHelper(0x7d, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
    return result;
    }void CShockwaveFlash::SetPlaying(BOOL bNewValue)
    {
    static BYTE parms[] =
    VTS_BOOL;
    InvokeHelper(0x7d, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
     bNewValue);
    }long CShockwaveFlash::GetQuality()
    {
    long result;
    InvokeHelper(0x69, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
    return result;
    }void CShockwaveFlash::SetQuality(long nNewValue)
    {
    static BYTE parms[] =
    VTS_I4;
    InvokeHelper(0x69, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
     nNewValue);
    }long CShockwaveFlash::GetScaleMode()
    {
    long result;
    InvokeHelper(0x78, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
    return result;
    }void CShockwaveFlash::SetScaleMode(long nNewValue)
    {
    static BYTE parms[] =
    VTS_I4;
    InvokeHelper(0x78, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
     nNewValue);
    }long CShockwaveFlash::GetAlignMode()
    {
    long result;
    InvokeHelper(0x79, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
    return result;
    }void CShockwaveFlash::SetAlignMode(long nNewValue)
    {
    static BYTE parms[] =
    VTS_I4;
    InvokeHelper(0x79, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
     nNewValue);
    }long CShockwaveFlash::GetBackgroundColor()
    {
    long result;
    InvokeHelper(0x7b, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
    return result;
    }void CShockwaveFlash::SetBackgroundColor(long nNewValue)
    {
    static BYTE parms[] =
    VTS_I4;
    InvokeHelper(0x7b, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
     nNewValue);
    }BOOL CShockwaveFlash::GetLoop()
    {
    BOOL result;
    InvokeHelper(0x6a, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
    return result;
    }void CShockwaveFlash::SetLoop(BOOL bNewValue)
    {
    static BYTE parms[] =
    VTS_BOOL;
    InvokeHelper(0x6a, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
     bNewValue);
    }CString CShockwaveFlash::GetMovie()
    {
    CString result;
    InvokeHelper(0x66, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
    return result;
    }void CShockwaveFlash::SetMovie(LPCTSTR lpszNewValue)
    {
    static BYTE parms[] =
    VTS_BSTR;
    InvokeHelper(0x66, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
     lpszNewValue);
    }long CShockwaveFlash::GetFrameNum()
    {
    long result;
    InvokeHelper(0x6b, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
    return result;
    }void CShockwaveFlash::SetFrameNum(long nNewValue)
    {
    static BYTE parms[] =
    VTS_I4;
    InvokeHelper(0x6b, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
     nNewValue);
    }void CShockwaveFlash::SetZoomRect(long left, long top, long right, long bottom)
    {
    static BYTE parms[] =
    VTS_I4 VTS_I4 VTS_I4 VTS_I4;
    InvokeHelper(0x6d, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
     left, top, right, bottom);
    }void CShockwaveFlash::Zoom(long factor)
    {
    static BYTE parms[] =
    VTS_I4;
    InvokeHelper(0x76, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
     factor);
    }void CShockwaveFlash::Pan(long x, long y, long mode)
    {
    static BYTE parms[] =
    VTS_I4 VTS_I4 VTS_I4;
    InvokeHelper(0x77, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
     x, y, mode);
    }void CShockwaveFlash::Play()
    {
    InvokeHelper(0x70, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
    }void CShockwaveFlash::Stop()
    {
    InvokeHelper(0x71, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
    }void CShockwaveFlash::Back()
    {
    InvokeHelper(0x72, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
    }void CShockwaveFlash::Forward()
    {
    InvokeHelper(0x73, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
    }void CShockwaveFlash::Rewind()
    {
    InvokeHelper(0x74, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
    }void CShockwaveFlash::StopPlay()
    {
    InvokeHelper(0x7e, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
    }void CShockwaveFlash::GotoFrame(long FrameNum)
    {
    static BYTE parms[] =
    VTS_I4;
    InvokeHelper(0x7f, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
     FrameNum);
    }long CShockwaveFlash::CurrentFrame()
    {
    long result;
    InvokeHelper(0x80, DISPATCH_METHOD, VT_I4, (void*)&result, NULL);
    return result;
    }BOOL CShockwaveFlash::IsPlaying()
    {
    BOOL result;
    InvokeHelper(0x81, DISPATCH_METHOD, VT_BOOL, (void*)&result, NULL);
    return result;
    }long CShockwaveFlash::PercentLoaded()
    {
    long result;
    InvokeHelper(0x82, DISPATCH_METHOD, VT_I4, (void*)&result, NULL);
    return result;
    }BOOL CShockwaveFlash::FrameLoaded(long FrameNum)
    {
    BOOL result;
    static BYTE parms[] =
    VTS_I4;
    InvokeHelper(0x83, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
    FrameNum);
    return result;
    }
    void CShockwaveFlash::SetMovieData(LPCTSTR lpszNewValue)
    {
    static BYTE parms[] =
    VTS_BSTR;
    InvokeHelper(0xbe, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
     lpszNewValue);
    }LPUNKNOWN CShockwaveFlash::GetInlineData()
    {
    LPUNKNOWN result;
    InvokeHelper(0xbf, DISPATCH_PROPERTYGET, VT_UNKNOWN, (void*)&result, NULL);
    return result;
    }void CShockwaveFlash::SetInlineData(LPUNKNOWN newValue)
    {
    static BYTE parms[] =
    VTS_UNKNOWN;
    InvokeHelper(0xbf, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
     newValue);
    }BOOL CShockwaveFlash::GetSeamlessTabbing()
    {
    BOOL result;
    InvokeHelper(0xc0, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
    return result;
    }void CShockwaveFlash::SetSeamlessTabbing(BOOL bNewValue)
    {
    static BYTE parms[] =
    VTS_BOOL;
    InvokeHelper(0xc0, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
     bNewValue);
    }
      

  3.   

    好像flash有个 fscommand之类的函数,你可以用vc的mousemove中调用这个接口函数
      

  4.   

    http://dev.csdn.net/article/31/article/33/33846.shtm参考一下