
Code: Select all
#Window = 1
#WM_CAP_START = #WM_USER
#WM_CAP_DRIVER_CONNECT = #WM_CAP_START + 10
#WM_CAP_DRIVER_DISCONNECT = #WM_CAP_START + 11
#WM_CAP_DRIVER_GET_CAPS = #WM_CAP_START + 14
#WM_CAP_EDIT_COPY = #WM_CAP_START + 30
#WM_CAP_SET_PREVIEW = #WM_CAP_START + 50
#WM_CAP_SET_PREVIEWRATE = #WM_CAP_START + 52
#WM_CAP_STOP = #WM_CAP_START + 68
#WM_CAP_SET_SCALE = #WM_CAP_START + 53
#WM_CAP_START = #WM_USER
#WM_CAP_DLG_VIDEOSOURCE = #WM_CAP_START + 42
#CameraSizeX= 200 ; CAM SIZE X
#CameraSizeY= 150 ; CAM SIZE Y
#CursorMergin= 40 ; Cursor ... CaptureWindow Distance
#Enable_CameraFile= "C:\Camera.txt" ; ******** CHECK ********
If OpenWindow(#Window, 0, 0, #CameraSizeX, #CameraSizeY, "CursorCam", #PB_Window_Invisible | #PB_Window_BorderLess)
SetWindowLong_(WindowID(#Window),#GWL_EXSTYLE,#WS_EX_TOOLWINDOW)
ShowWindow_(WindowID(#Window),#SW_SHOW)
StickyWindow(#Window, #True)
Ccam_file.l = CreateFile(#PB_Any, #Enable_CameraFile)
WriteString(Ccam_file, "CAMERA")
CloseFile(Ccam_file)
Ccam_lib1.l = OpenLibrary(#PB_Any, "avicap32.dll")
If Ccam_lib1
*capAddress = GetFunction(Ccam_lib1, "capCreateCaptureWindowA")
hWndC.l = CallFunctionFast(*capAddress, "My Capture Window", #WS_CHILD | #WS_VISIBLE, 0,0, #CameraSizeX , #CameraSizeY, WindowID(#Window),0)
SendMessage_(hWndC, #WM_CAP_DRIVER_CONNECT, 0, 0)
SendMessage_(hWndC, #WM_CAP_SET_PREVIEW, #True, 0)
SendMessage_(hWndC, #WM_CAP_SET_PREVIEWRATE, 1, 0)
SendMessage_(hWndC, #WM_CAP_SET_SCALE, #True, 0)
SendMessage_(hWndC, #WM_CAP_DLG_VIDEOSOURCE, 0, 0)
hwd = #Window : mergin = #CursorMergin
Repeat
mouse.POINT
GetCursorPos_(mouse.POINT)
If mouse\x<(WindowX(hwd)-mergin)
ResizeWindow(hwd, mouse\x+mergin, WindowY(hwd), WindowWidth(hwd), WindowHeight(hwd))
ElseIf mouse\y<(WindowY(hwd)-mergin)
ResizeWindow(hwd, WindowX(hwd), mouse\y+mergin, WindowWidth(hwd), WindowHeight(hwd))
ElseIf mouse\x>(WindowX(hwd)+WindowWidth(hwd)+mergin)
ResizeWindow(hwd, mouse\x-WindowWidth(hwd)-mergin, WindowY(hwd), WindowWidth(hwd), WindowHeight(hwd))
ElseIf mouse\y>(WindowY(hwd)+WindowHeight(hwd)+mergin+25*TitleBar)
ResizeWindow(hwd, WindowX(hwd), mouse\y-WindowHeight(hwd)-mergin-25*TitleBar, WindowWidth(hwd), WindowHeight(hwd))
EndIf
Delay(1)
While WindowEvent(): Wend
Until FileSize(#Enable_CameraFile)<0
SendMessage_(hWndC, #WM_CAP_STOP, 0, 0)
SendMessage_(hWndC, #WM_CAP_DRIVER_DISCONNECT, 0, 0)
DestroyWindow_(hWndC)
CloseLibrary(Ccam_lib1)
EndIf
EndIf
End