不知道远程软件有没有限定屏幕范围的功能
但如果只是为了查看,不涉及操纵的话,可以 OBS 直播你屏幕上的任意区域
最终目的是为了监控电脑通知??
2 个赞
试试这个,电脑打开weylud,手机浏览器可以显示整个电脑屏幕,但是你可以调整调整浏览器的缩放啥的让屏幕只显示目标一部分。
缺点是传送的数据量实际上还是整个屏幕
1 个赞
如果使用
以及其他类似产品,则可以将特定窗口分享,手机浏览器即可访问。
不过问题是你的目标区域不是一个窗口,而是显示器实时画面。
这时就可以搭配一下这个ahk脚本。
就可以把电脑显示器的指定区域变成一个窗口。
进而再分享这个窗口到手机。
就可以了
1 个赞
我尝试了楼上的 Deskreen软件,发现它不能映射ahk脚本弄出来的窗口
简单的法子,安装腾讯会议,直播桌面
2 个赞
得改一句代码,让它窗口化,现在不是窗口,而是工具窗口
稍等我弄一下哈
使用这段ahk代码,去掉了设置选项,去掉了置顶,并且窗口化了
我自己实测了一下搭配deskreen,非常好用!
你快试试吧,好用点个解决方案~
OnExit handle_exit
Gui, +Resize ; window for the dock
Gui, Show, NoActivate w400 h400 x300 y50 , PrintScreen
;Gui, Add, DDL, vzoom y0, 0.0625|0.125|0.25|0.5|1||2|4|8|16
;Gui, Add, Checkbox, y0 x150 vantialize Checked, 去锯齿
;Gui, Add, Slider, vdelay x210 y0 Range15-200
;Gui, Add, Text, x340 y0 w80 vdelay2
zoom:=1
antialize:=1
delay:=15
WinGet PrintScreenID, id ,PrintScreen ;
WinSet, Transparent , 254, PrintScreen
;retrieve the unique ID number (HWND/handle) of that window
WinGet, PrintSourceID, id
hotkey , #+x , toggle_follow
hotkey , #x , toggle_fix
hotkey , +$LButton , click_through
toolbar_def:=0
toolbar := toolbar_def
follow :=0
fixxy:=0
hdd_frame := DllCall( "GetDC", UInt, PrintSourceID )
hdc_frame := DllCall( "GetDC", UInt, PrintScreenID )
hdc_buffer := DllCall("gdi32.dll\CreateCompatibleDC", UInt, hdc_frame) ; buffer
hbm_buffer := DllCall("gdi32.dll\CreateCompatibleBitmap", UInt,hdc_frame, Int,A_ScreenWidth, Int,A_ScreenHeight)
Gosub, Repaint
return
toggle_follow:
follow := 1 - follow
if follow = 1
{
WinSet Region, 0-0 W%ww% H%wh% E , PrintScreen
toolbar := -32 ; height of window title
GuiControl, Hide, zoom
}
else
{
WinSet Region,, PrintScreen
toolbar :=toolbar_def
GuiControl, Show, zoom
}
Return
toggle_fix:
if fixxy
fixxy := 0
else
{
fixxy := 1
MouseGetPos, fix_x, fix_y
}
Return
click_through:
if follow = 1
{
Gui, Hide
Send, {Click}
SetTimer, Repaint , Off
Sleep, 100
Gui, Show
SetTimer, Repaint, %delay%
}
Return
Repaint:
CoordMode, Mouse, Screen
MouseGetPos, start_x, start_y ; position of mouse
Gui, Submit, NoHide ; needed to read the dropdown and slidervalue
GuiControl,, delay2 , delay %delay% ms
WinGetPos, wx, wy, ww, wh , PrintScreen
wh2 := wh - toolbar
if fixxy
{
DllCall( "gdi32.dll\SetStretchBltMode", "uint", hdc_frame, "int", 4 * antialize ) ; Halftone better quality with stretch
DllCall("gdi32.dll\StretchBlt", UInt,hdc_frame, Int,0, Int,toolbar, Int,ww, Int,wh - toolbar
, UInt,hdd_frame, Int
, fix_x-(ww / 2 / zoom)
, Int,fix_y -( wh2 / 2/zoom), Int,ww / zoom, Int,wh2 / zoom ,UInt,0xCC0020) ; SRCCOPY
if follow = 1
WinMove, PrintScreen, ,fix_x -ww/2 , fix_y-wh/2
SetTimer, Repaint , %delay%
}
else
{
DllCall( "gdi32.dll\SetStretchBltMode", "uint", hdc_frame, "int", 4 * antialize ) ; Halftone better quality with stretch
DllCall("gdi32.dll\StretchBlt", UInt,hdc_frame, Int,0, Int,toolbar, Int,ww, Int,wh - toolbar
, UInt,hdd_frame, Int
, start_x-(ww / 2 / zoom)
, Int,start_y -( wh2 / 2/zoom), Int,ww / zoom, Int,wh2 / zoom ,UInt,0xCC0020) ; SRCCOPY
if follow = 1
WinMove, PrintScreen, ,start_x -ww/2 , start_y-wh/2
SetTimer, Repaint , %delay%
}
Return
GuiClose:
handle_exit:
DllCall("gdi32.dll\DeleteObject", UInt,hbm_buffer)
DllCall("gdi32.dll\DeleteDC", UInt,hdc_frame )
DllCall("gdi32.dll\DeleteDC", UInt,hdd_frame )
DllCall("gdi32.dll\DeleteDC", UInt,hdc_buffer)
ExitApp