请问怎样获取WMode属性设为Transparent的Flash控件的句柄?
如何知道一个flash已经播放完毕?
谢谢!

解决方案 »

  1.   

    谢谢楼上。
    我主要是想用flash控件来实现office助手,所以希望背景透明,取得句柄后,用户就可以随意移动了。
      

  2.   

    吴兄,好久不见了,现在可好?——————————————————
    我用spy++查了一下,当WMode为window时,flash的classname为MacromediaFlashPlayerActiveX
    若WMode为Transparent时spy++中出现了一个VBFocusRT6
    classname为VBFocusRT6 (??也说不清楚为什么是这个)透明句柄:
    Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Longdim hwnd as long
    dim hwnd1 as long
    hwnd = FindWindow("ThunderRT6FormDC", vbNullString)
    hwnd1=b = FindWindowEx(hwnd, 0, "VBFocusRT6", vbNullString)为了验证与spy++的一致性,我用了
    Dim r As RECT
    GetWindowRect hwnd1, r
    获得的r的坐标与spy++中VBFocusRT6的坐标一致,都是已窗口界面的坐标值一直,而不是
    flash控件的。
    获得非透明句柄就很正常了,用GetWindowRect测的坐标也同flash控件一致。
      

  3.   

    如何知道一个flash已经播放完毕?
    ————————————————
    我亦不清楚,请教高人。
      

  4.   

    呵呵,是哦,好久不见孙姐了!
    这阵子就是忙,其它倒没什么,再有就是这个问题还没有解决了:)。
    ____________________________________________________________________
    在我这里用你上面的代码,还是读不出来句柄值。我也用spy++看过,发现不管是设计状态还是在运行时,透明的flash控件都没法获得焦点,spy++读不来,不知是不是我的方法不对。
    请各位继续指点。
    谢谢!如何知道一个flash已经播放完毕?
    ————————————————
    这个问题我找到了解决方法,就是在做flash时,播放到最后一帧时发送fscommand命令
    fscommand ("Close");
    vb里面可以接收到这个字符串
    Private Sub swfBack_FSCommand(ByVal command As String, ByVal args As String)
        Select Case command
            Case "Close"
                ....
            Case ".."
                ....        
         End Select
    End Sub
      

  5.   

    获得的r的坐标与spy++中VBFocusRT6的坐标一致,都是已窗口界面的坐标值一致
    ------------------------------------
    我更正一下,获得的坐标应该是窗口可用控件的坐标(去掉标题栏剩下的部分)
    ————————————————————————————————————你先用WMode=window 生成执行文件,用spy++ 看一下,会看到一个
    一个类名称为MacromediaFlashPlayerActiveX ,也就是flash控件;
    若用WMode=Transparent 生成执行文件,spy++下出现了一个VBFocusRT6的类,
    他的一些个style的信息说明他就是 flash的句柄。