能力值:
( LV3,RANK:20 )
|
-
-
2 楼
关键字:MagSetWindowFilterList、CreateWindowInBand
|
能力值:
( LV12,RANK:290 )
|
-
-
3 楼
rustdesk也有类似功能,而且是开源的,可以拿来研究
|
能力值:
( LV9,RANK:180 )
|
-
-
4 楼
T哥又开始搞科普文了?
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
这不就 类似网吧 挂机锁,屏幕锁吗
|
能力值:
( LV3,RANK:20 )
|
-
-
6 楼
pureGavin
rustdesk也有类似功能,而且是开源的,可以拿来研究
是的,就是看了那个帖子https://github.com/rustdesk/rustdesk/issues/65,但下载后在几个不同系统的虚拟机都跑过,没成功。要么提示创建进程runtimebroker.exe失败,要么提示CreateWindowInBand错误1314,所以根本不知道预期效果如何。源码是rust写的,根本看不懂。。。
|
能力值:
( LV3,RANK:20 )
|
-
-
7 楼
|
能力值:
( LV3,RANK:20 )
|
-
-
8 楼
已解决。 1、将窗口设置为最前(使用CreateWindowInBand),而且需要透明:WS_EX_TOPMOST or WS_EX_NOACTIVATE or WS_EX_TRANSPARENT,否则该窗口下的区域无法点击(比如说右键弹出菜单)。 2、调用API函数SetWindowDisplayAffinity将该窗口设置为不可捕获。
效果图如下:win7虚拟机运行客户端,连接win10虚拟机:
在我们的窗口位置鼠标右键弹出一个菜单,证明该窗口对覆盖的区域无影响:
看一下Win10,我们的窗口没有全屏是为了方便测试:
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
类似网吧 挂机锁,屏幕锁吗
|
能力值:
( LV3,RANK:20 )
|
-
-
10 楼
文西哥
类似网吧 挂机锁,屏幕锁吗
不知道,没有接触过你说的这些、
|
能力值:
( LV3,RANK:20 )
|
-
-
11 楼
:)
再次启用隐私屏,
|
能力值:
( LV3,RANK:20 )
|
-
-
12 楼
轻装前行
这不就 类似网吧 挂机锁,屏幕锁吗
百度了一下,这个跟挂机锁是两个不同的东西。
“网吧挂机锁是最经典的网吧锁屏软件,使用这款网吧挂机锁可以让你一键锁定网吧的电脑屏幕,不知道密码不能随意操作,如果您需要在指定的时间挂机,”
隐私屏的话,如果坐在被控制的电脑屏幕前,看到的效果的确跟挂机锁是一样的,但如果使用远程控制客户端连接过来,是看不到这个画面的,也可以继续控制。也就是说这个画面对于远程用户来说是不存在的。
另外,实际上win7一样可以在应用层实现这种效果的。只是需要使用另外一个API。
|
能力值:
( LV1,RANK:0 )
|
-
-
13 楼
最近也在研究这个功能,请教楼主,窗口设置为最前:使用CreateWindowInBand创建时,应该使用哪个ZBID?我创建的要么不在最前,要么会创建失败 ,感谢
|
能力值:
( LV3,RANK:20 )
|
-
-
14 楼
ZBID_UIACCESS 这个函数需要好像win8以上系统。win7一般使用虚拟显示器,我网站有一个演示:http://138soft.com/video/virtualdisplay.htm。否则好像放大镜接口好像也可以的,没有需求,所以每试验,感兴趣的话你可以试试。
|
能力值:
( LV1,RANK:0 )
|
-
-
15 楼
bestbird
ZBID_UIACCESS
这个函数需要好像win8以上系统。win7一般使用虚拟显示器,我网站有一个演示:http://138soft.com/video/virtualdisplay.htm。否 ...
谢谢,现在我实现了窗口最前,远程不可捕获,但这个:(WS_EX_TOPMOST or WS_EX_NOACTIVATE or WS_EX_TRANSPARENT,否则该窗口下的区域无法点击),我在创建时传入的style,但还是拦截了鼠标,点击没有效果,请问这个是在创建时直接传入的吗
|
能力值:
( LV3,RANK:20 )
|
-
-
16 楼
mb_aetscoms
谢谢,现在我实现了窗口最前,远程不可捕获,但这个:(WS_EX_TOPMOST or WS_EX_NOACTIVATE or WS_EX_TRANSPARENT,否则该窗口下的区域无法点击),我在创建 ...
WS_EX_TRANSPARENT是关键:能点击下面的窗口,但也无法截取消息了。意思是说,现在点击窗口,不会触发窗口的消息窗口,而是“漏”给窗口下面的窗口了。这个是创建的时候直接传递进去的。 另外,这个功能通常是配合键盘鼠标锁定函数使用的: (BOOL BlockInput( [in] BOOL fBlockIt ); 调用后,除了调用线程(也就是远程控制线程)外的鼠标键盘消息都不再有效, MSDN: 系统将在以下情况下解锁输入: 阻止输入的线程意外退出,而未调用BlockInput并且 fBlock设置为FALSE。在这种情况下,系统会正确清理并重新启用输入。 用户按 CTRL+ALT+DEL 或系统调用“ 硬系统错误”模式消息框(例如,当程序故障或设备故障时)。 所以,远程要解锁,一般是先输入CTRL+ALT+DEL,然后响应预先注册的热键(WS_EX_TRANSPARENT导致窗口无法收到键盘鼠标消息了)来ShowWindow(xx,SW_HIDE)来关闭。
|
能力值:
( LV1,RANK:0 )
|
-
-
17 楼
收到,现在明白了,感谢详细解答!
|
能力值:
( LV2,RANK:16 )
|
-
-
18 楼
大佬,有个问题请教,麻烦问下可以加个联系方式么?
|
能力值:
( LV3,RANK:20 )
|
-
-
19 楼
|
能力值:
( LV2,RANK:16 )
|
-
-
20 楼
已回复您
|
能力值:
( LV1,RANK:0 )
|
-
-
21 楼
可以加下你吗 请教下你问他。 我窗口置顶说明都OK 但是按你说的方法 窗口之下的还是无法点击
|
能力值:
( LV3,RANK:20 )
|
-
-
22 楼
我网站上面有QQ号码。
|
能力值:
( LV2,RANK:10 )
|
-
-
23 楼
普通API的使用 隐私屏界面模拟系统更新 ->远程操作
|
|
|