Доброй ночи.
Помогите.
Есть макрос проигрывания видео в беззаголовочном окне, с уменьшением звука.
Пытаюсь сделать его таким, чтобы можно было это окно перетаскивать (используя параметр $WS_EX_CONTROLPARENT).
Но что-то не получается.
Причем есть один скрипт, где перетаскивание окна - возможно. Никак не могу, что понять почему в одном скрипте можно перемещать окно, а в другом - параметр WS_EX_CONTROLPARENT не дает вообще загружать видео.
Как изменить данный скрипт, чтобы можно было перетаскивать это беззаголовочное окно ?
Помогите.
Есть макрос проигрывания видео в беззаголовочном окне, с уменьшением звука.
Пытаюсь сделать его таким, чтобы можно было это окно перетаскивать (используя параметр $WS_EX_CONTROLPARENT).
Но что-то не получается.
Причем есть один скрипт, где перетаскивание окна - возможно. Никак не могу, что понять почему в одном скрипте можно перемещать окно, а в другом - параметр WS_EX_CONTROLPARENT не дает вообще загружать видео.
Код:
#include "DSEngine.au3"
#include <WindowsConstants.au3>
#include <GuiConstants.au3>
#include <WinAPI.au3>
#include <WinAPISys.au3>
Global $sFile = "C:\1\1.avi"
Global $fVolume, $iValue = -10000
Global $hWnd = GUICreate("DirectShow Engine Example", 480, 320, -1, -1, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_TOPMOST, $WS_EX_CONTROLPARENT))
GUIRegisterMsg($WM_MOUSEMOVE, "WM_MOUSE")
GUIRegisterMsg($WM_MOUSELEAVE, "WM_MOUSE")
Engine_Startup(@ScriptDir & "\DSEngine_UDF.dll")
Engine_LoadFile($sFile, $hWnd)
GUISetState()
Engine_StartPlayback()
Engine_Mute()
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
Engine_Shutdown()
Func WM_MOUSE($hWnd, $iMsg)
Switch $iMsg
Case $WM_MOUSEMOVE
If Not $fVolume Then
AdlibUnRegister("_VolumeDown")
AdlibRegister("_VolumeUp", 10)
$fVolume = True
_WinAPI_TrackMouseEvent($hWnd, $TME_LEAVE)
EndIf
Case $WM_MOUSELEAVE
If $fVolume Then
AdlibUnRegister("_VolumeUp")
AdlibRegister("_VolumeDown", 10)
$fVolume = False
EndIf
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_MOUSE
Func _VolumeUp()
If $iValue < 0 Then
$iValue += 100
Engine_SetVolume($iValue)
Else
AdlibUnRegister("_VolumeUp")
EndIf
EndFunc ;==>_VolumeUp
Func _VolumeDown()
If $iValue > -10000 Then
$iValue -= 100
Engine_SetVolume($iValue)
Else
AdlibUnRegister("_VolumeDown")
EndIf
EndFunc ;==>_VolumeDown
Как изменить данный скрипт, чтобы можно было перетаскивать это беззаголовочное окно ?