如何把电脑选中区域共享在手机上


如图,这是我的电脑桌面,我想讲涂鸦部分共享至我的手机上面,我该怎么做

不知道远程软件有没有限定屏幕范围的功能
但如果只是为了查看,不涉及操纵的话,可以 OBS 直播你屏幕上的任意区域

最终目的是为了监控电脑通知??

2 个赞

试试这个,电脑打开weylud,手机浏览器可以显示整个电脑屏幕,但是你可以调整调整浏览器的缩放啥的让屏幕只显示目标一部分。

缺点是传送的数据量实际上还是整个屏幕

1 个赞

如果使用

以及其他类似产品,则可以将特定窗口分享,手机浏览器即可访问。

不过问题是你的目标区域不是一个窗口,而是显示器实时画面。
这时就可以搭配一下这个ahk脚本。
就可以把电脑显示器的指定区域变成一个窗口。
进而再分享这个窗口到手机。
就可以了

1 个赞

我使用了ahk脚本把电脑显示器的指定区域变成一个窗口,但是我无法单独分享这个窗口到手机


我只能将整个桌面都分享到手机上,我使用的是华硕的glidex用usb把画面分享到手机上 :sob:

我尝试了楼上的 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