首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > windows >

反截屏,该怎么处理

2012-12-15 
反截屏怎么禁止所有的软件截屏?[解决办法]这个还真不知道[解决办法]这个玩意儿是矛和盾的问题 无解[解决办

反截屏
怎么禁止所有的软件截屏?
[解决办法]
这个还真不知道
[解决办法]
这个玩意儿是矛和盾的问题 无解
[解决办法]
有好的思路也可以分享一下
[解决办法]
不可能有无解的东西
[解决办法]
这要深入到系统内部机制了吧...禁止像素点采集什么的..
[解决办法]
大家有何好的思路可以聊聊。这个主要用在网络安全领域
[解决办法]
监视剪切板试试
[解决办法]
这个技术不太实用。因为我已经在做复制,粘贴时已经对剪贴板挂钩子了。
[解决办法]
这年月肿么木有看到啥高手
[解决办法]
不可能的. 只要人能看到, 就一定可以记录下来. 你今天把截屏给屏蔽掉, 你能把用户的照相机抢走吗? 你能保证他没有那种具有录像功能的显示器吗? 或者, 你能保证用户的记忆力不是神级的吗?
[解决办法]
软件上这就是无解
[解决办法]
你说是保护设计图纸,这直接拍照就行了
[解决办法]
我暂时不考虑拍照这些,先解决软件上的截屏。
[解决办法]
把你的程序放到虚拟机运行,然后在宿主机截屏
[解决办法]
这些我都先不考虑。我说的是反截屏软件,录屏软件。这是在交流设计思路,怎么都是说的找破绽,破绽是肯定有的。
[解决办法]
反截屏软件,录屏软件的思路是有,而且不难,但是当然要说找破绽,破绽是肯定有的,而且很容易找到,这就使得实现的功能毫无用处,那么还花时间干什么?
[解决办法]
反截屏软件,录屏软件的思路是有,而且不难?什么思路,说来听听
[解决办法]
这个是先防止一般的用户。其他的先不予考虑。
[解决办法]
我的反截屏主要是防止电脑上所有的软件截屏,并非是我的程序防止截屏
[解决办法]
你的程序用什么接口绘图
[解决办法]
这个知道。关键是API太多,如果每个都拦截,范围太广,会导致系统不稳定,说起来简单做起来难。
[解决办法]
用户模式防截屏就是拦截各种和截屏有关的api
[解决办法]
这个方法我早知道,主要是会导致系统不稳定
[解决办法]
但是只能这么做,如果你跟踪一下可以找到api之间的依赖关系,可以减少一些
[解决办法]
又是反截屏啊。。。即便是最简单的本机防范也不容易,就像吃鱼,本来很容易,但代价是放完整条河的水。
即使是最基本的GDI函数,你又岂敢乱动?定点处理容易,范围防范很难。
[解决办法]
你搞这些不如把真正实用的功能做好,如果其他功能一样,一个到处钩子,一个只做好本职工作,用户肯定选后者
[解决办法]
你这是安全产品么
[解决办法]
你搞这些不如把真正实用的功能做好?一款真正的安全产品,这些都不防范,那是失败的
[解决办法]
文档安全,做透明加密的,基于驱动层
[解决办法]
你说一下你的软件到底干啥的
------解决方案--------------------


我晕,那肯定撒。不是因为可能引起不稳定,我何必来这里问,整半天,没一个牛人
[解决办法]
给企业管理用的?
[解决办法]
既然驱动是必要的,可以利用它帮助hook
首先你这是必须运行的安全软件,所以它应该是开机自动运行的,那么就将驱动程序设为启动运行,引导时自动加载,此时杀软是没法提示的
你针对什么版本的windows
[解决办法]
zhao4zhong1

经典语录:


试问 LZ 又能如何防止用户拿着相机,对着屏幕拍照?


又或者,如何阻止用户从显卡 VGA/DVI接口,直接硬件方式获取画面信号?
[解决办法]
既然是基于驱动,你又说驱动被拦截,到底用驱动没
[解决办法]
驱动是过滤驱动。我现在问的是控制截屏,这个从驱动也不太好控制,所以走HOOK。但是现在无论是驱动还是hook,杀软都会提示,只要点阻止,肯定就无效了
[解决办法]
从技术上来说,反截屏只有一种途径,就是限制所有对受限内容的访问行为.这无非就是把所有可以访问设备,文件, 以及其它进程的接口过滤了. 工作量巨大.
从层次上来说,可以有以下的方案:
1.对用户透明, 但所有非授权的程序都是访问受限的. 这种方案对用户影响小,但技术难度大,基本上不会有完美的解决方案.因为用户行为很难预测...
2.直接对用户做限制.这种方案就是类似网吧桌面的那类应用.限制用户可以访问的内容.从用户接口上防止非受权行为.这对于专用的系统是个很好的解决方案.但要进行针对性的开发.和第三方应用的兼容性是个问题.但如果有比较好的设计和实施,将可以做出一个比较完美的方案.用户接受度也会很高.


另外:
只要断网,断外设,防拍照.就可以从源头上禁止了.但没法防止人工的记录.
防外人的加密是有意义的,比如windows的bit lock功能.
防自己人的加密,尤其是自己员工,而且还是生产这些内容的员工...基本是扯淡.不仅没用,还会引起强烈的反感.

公司对员工好点,招人/用人的时候多做人品的考察和管理,建立良好的企业文化和氛围.再注意一下加强员工道德和法律上的意识.这才是防止泄密的良性布局.
[解决办法]
说得太好了,我想我不用再回复了
[解决办法]
zhao4zhong1

经典语录:

不要陷入加密与解密的死循环。


试问 LZ 又能如何防止用户拿着相机,对着屏幕拍照截屏?


[解决办法]
如果连Bitblt、StretchBlt都拦截了,那系统还能用了吗?:)

[解决办法]
不可能完全反截屏
[解决办法]
不安全是因为这时str是个野指针,这个我知道.想安全点就是让str指向一个malloc来的足够大的内存就行了
[解决办法]
将来的操作系统搞不好会出这个功能满足管理层的需要
[解决办法]
没办法在技术上帮楼主什么
只说一句,我公司的防泄密软件除了让员工工作起来各种错误之外,什么用都没有
满足了管理层的心,冷了员工们的心
特别是负责维护这个软件的人都说“管理层一拍脑袋,我们就做各种无用功”

虽然掏钱的是管理层,但是也麻烦您这样的软件制作者替我们这些员工想想
三天两头出问题,找供应商还推三阻四说“不可能有问题”“有问题我们过几天来修”,管理层和这类软件提供者就是在拿普通员工当猴耍
[解决办法]

引用:
把你的程序放到虚拟机运行,然后在宿主机截屏

这个无敌了  
[解决办法]
试问楼主你能禁止别人用数码相机对着屏幕拍吗?!
[解决办法]
不安全是因为这时str是个野指针,这个我知道.想安全点就是让str指向一个malloc来的足够大的内存就行了
[解决办法]
又是内网安全
[解决办法]
有些视频播放器是不容易被截图的 lz可以看看他是什么原理

[解决办法]
各位大侠们,如果单单只屏蔽print screen sysrq键呢
[解决办法]
问一下各位大侠们,如果单单只屏蔽print screen sysrq键的截屏呢
[解决办法]
奉劝楼主不要把有限的生命浪费在无限的加密解密死循环中!

------解决方案--------------------


前一阵子也在研究这个,API Hook实现的,比较稳定
http://blog.csdn.net/xugangjava/article/details/7753185
不过像卡巴斯基 Hook :NtGdiBitBlt,NtGdiMaskBlt,NtGdiPlgBlt,NtGdiStretchBlt。NtUserBuildHwndList,NtUserFindWindowEx来实现,更专业。

good luck

[解决办法]
windows给你无与伦比的控制力,结果是有些事情你是无法控制的.
[解决办法]

引用:
从技术上来说,反截屏只有一种途径,就是限制所有对受限内容的访问行为.这无非就是把所有可以访问设备,文件, 以及其它进程的接口过滤了. 工作量巨大.
从层次上来说,可以有以下的方案:
1.对用户透明, 但所有非授权的程序都是访问受限的. 这种方案对用户影响小,但技术难度大,基本上不会有完美的解决方案.因为用户行为很难预测...
2.直接对用户做限制.这种方案就是类似网吧桌面的那类应用.限制用户……


+1
[解决办法]
视频播放器主要是显卡驱动的过滤。但是关闭硬件加速之后一样无效。目前面临的问题是:单单只屏蔽print screen sysrq键,我先做了全局键盘钩子,当是截屏键时,清空剪贴板。然后打开画图软件,竟然也可以看到刚才的截屏,纳闷
[解决办法]
如果你用的是WH_KEYBOARD_LL,csrss是先调用钩子再将按键放入系统队列,所以你清空时截图还没开始
[解决办法]
单单只屏蔽print screen sysrq键,我先做了全局键盘钩子,当是截屏键时,清空剪贴板。然后打开画图软件,竟然也可以看到刚才的截屏。这一种方式清空剪贴板后为什么仍然存在?
[解决办法]
楼上的哥们,你的这个应该上上代码一起研究哈撒,这么多API一起勾,稳定性我觉得很难保证。
[解决办法]
视频播放器无法截屏是因为使用了overlay,overlay表面的内容不在主显存中,所以无法截屏
要屏蔽print screen键用键盘过滤驱动即可
[解决办法]
我是想做全局键盘钩子,并不是只监控我自己的程序的截图消息。要监控所有授权程序的截图消息。当是截屏键时,清空剪贴板。然后打开画图软件,竟然也可以看到刚才的截屏。这一种方式清空剪贴板后为什么仍然存在?
[解决办法]
WH_KEYBOARD_LL在截图前被调用
[解决办法]
拍照的话用无线电波检测,这个无所谓的
[解决办法]
估计楼主很快会来问,怎样防止用户对着屏幕拍照了。。。
[解决办法]
自己实现显卡驱动。
自己实现操作系统。
最好是自己设计硬件。
[解决办法]
直接断网,然后禁止USB,刻录,以及其他存储设备即可
[解决办法]
引用:
自己实现显卡驱动。
自己实现操作系统。
最好是自己设计硬件。

同样这位仁兄:不让用户把截屏后的图片移动不就可以了,你这是神马需求,不能变通下吗?
[解决办法]
截屏以后总不会就在被截屏的机器上放着,肯定要通过网络发出去,所以是不是可以在包拦截上做点文章
[解决办法]
你用的什么类型的钩子
[解决办法]
这个没法。。。。
[解决办法]
不知道哇
[解决办法]
这个很难啊
[解决办法]
这个截屏反截屏都不好搞定的
[解决办法]
引用:
回答问题的要有点素质,不会的没把握的还有废话就不要说了,影响别人看贴是不是。毕竟这是问题帖,不是灌水的。
回到正题,“禁止所有的软件截屏”,第一,先找出截屏的方法,常用的是系统的API。至于读显存什么的,就不要费心了。第二,知道截屏的api之后,比较安全的方法,是从驱动出发,过滤相关api就可以了。
需要的知识主要就是windows ddk。china-pub上介绍了国内出的几本驱动开发方面……

那好。我也谈谈为什么从技术上讲这是无解的。

首先,hook住最底层api。(无论你做显卡驱动也好、还是windows内核驱动也罢)

有的调用者根本不是想截屏,而是读取窗口背景,做窗口背景alpha混合。来实现窗口阴影、窗口透明的效果。windows就是靠这玩意儿开窗口特效的。你的软件根本无法知道读取屏幕内容是为了截屏还是为了系统功能。你这么搞,等于直接把windows系统功能给废了。



第二,就算你把我前面说的搞定了。我可以负责的告诉你,根本没有任何用处。不信你试试qq的截屏。绝对不是什么getdc(getwindowsdesktop())之类的玩意。因为有比getdc更简单更快速的方法。就是读取显存。而且只需要一行语句。这种技术800年前都已经烂遍大街了。(2003年时,有个哥们说截屏太慢,我告诉他读显存的方法,只需要一行语句,他实现后高兴得不了,说真是又快又方便)
如果你限制读取显存的话。则所有游戏、windows系统功能将极不稳定、兼容性大大降低。可以说windows根本没法用了。

所以说,别整天搞那些没用的。还说什么没有牛人、说什么不可能无解。自己水平菜不是你的错。狂妄自大、口出狂言、出来丢人就是你的不对了。
[解决办法]
该回复于2012-07-24 09:37:51被版主删除
[解决办法]

引用:
这个是先防止一般的用户。其他的先不予考虑。

还是先把需求精准了再说吧.
如果是限制一般用户使用QQ截屏就很好实现;要不然就成了一个无解的无限投入的问题了.

个人觉得截屏不需要禁止,windows和mac自带截屏工具是有道理的.可以在技术上拓展思路,更可以在技术外拓展思路.
[解决办法]
该回复于2012-07-24 08:29:24被版主删除
[解决办法]
不清楚。
[解决办法]
回答问题的要有点素质,不会的没把握的还有废话就不要说了,影响别人看贴是不是。毕竟这是问题帖,不是灌水的。
回到正题,“禁止所有的软件截屏”,第一,先找出截屏的方法,常用的是系统的API。至于读显存什么的,就不要费心了。第二,知道截屏的api之后,比较安全的方法,是从驱动出发,过滤相关api就可以了。
需要的知识主要就是windows ddk。china-pub上介绍了国内出的几本驱动开发方面的书,还都不错。另外,所有安全相关的编程,基本都是驱动编程,具体一点地说是文件过滤驱动相关。找到方向再学习就快了。

[解决办法]
挺难的
[解决办法]
status==0)
{
PDRIVER_OBJECT driverobj;
name->MaximumLength=768;
name->Buffer=(wchar_t*)(name+1);
memcpy(name->Buffer,L"\\Driver\",sizeof L"\\Driver\"-2);
memcpy((char*)name->Buffer+sizeof L"\\Driver\"-2,dbi->ObjectName.Buffer,dbi->ObjectName.Length);
name->Length=dbi->ObjectName.Length+sizeof L"\\Driver\"-2;
if((status=ObReferenceObjectByName(name,OBJ_CASE_INSENSITIVE,0,0,IoDriverObjectType,KernelMode,0,(void**)&driverobj))==0)
{
PDEVICE_OBJECT deviceobj;
deviceobj=driverobj->DeviceObject;
while(deviceobj)
{
if(deviceobj)if((status=ObQueryNameString(deviceobj,name,1024,&ReturnLength))==0)
{
if(name->Length)if(RtlCompareUnicodeString(DeviceName,name,CaseInsensitive)==0)
{
Found=TRUE;
if(DriverObject)*DriverObject=driverobj;
if(DeviceObject)*DeviceObject=deviceobj;
break;
}
}
deviceobj=deviceobj->NextDevice;
}
ObfDereferenceObject(driverobj);
}
if(Found)break;
status=ZwQueryDirectoryObject(Dir,dbi,4096,1,0,&Context,&ReturnLength);
}
ExFreePoolWithTag(dbi,0);
ExFreePoolWithTag(name,0);
status=Found?0:STATUS_OBJECT_NAME_NOT_FOUND;
}
ZwClose(Dir);
}
if(!Found)
{
if(DriverObject)*DriverObject=0;
if(DeviceObject)*DeviceObject=0;
}
return status;
}

void NTAPI DriverUnload(struct _DRIVER_OBJECT *DriverObject)
{
IoDeleteDevice(DriverObject->DeviceObject);
}

NTSTATUS NTAPI DispatchCreateClose(PDEVICE_OBJECT DeviceObject,PIRP Irp)
{
Irp->IoStatus.Status=Irp->IoStatus.Information=0;
IofCompleteRequest(Irp,IO_NO_INCREMENT);
return 0;
}

NTSTATUS NTAPI DispatchDeviceControl(PDEVICE_OBJECT DeviceObject,PIRP Irp)
{
PIO_STACK_LOCATION IrpSp;NTSTATUS Status;
IrpSp=IoGetCurrentIrpStackLocation(Irp);
switch(IrpSp->Parameters.DeviceIoControl.IoControlCode)
{
case IOCTL_COPYMEMORY:
{


PMEMORY_BLOCK mem=(PMEMORY_BLOCK)IrpSp->Parameters.DeviceIoControl.Type3InputBuffer;
char*dest=(char*)mem->dest,*src=(char*)mem->src;size_t len=mem->len;int rev=mem->rev;
if(mem->rev==0)
memcpy(dest,src,len);
else
{
size_t i;
for(i=0;i<len;i+=rev)
{
memcpy(dest+i,src+len-i-rev,rev);
}
}
Irp->IoStatus.Information=mem->len;
Status=0;
}
break;
case IOCTL_GETDEVICE:
{
PDEVNAME devname=(PDEVNAME)IrpSp->Parameters.DeviceIoControl.Type3InputBuffer;
PDEVOBJS devobjs=(PDEVOBJS)Irp->UserBuffer;
Status=GetDeviceObjectByName(&devname->DeviceName,devname->CaseInsensitive,(PDRIVER_OBJECT*)&devobjs->DriverObject,(PDEVICE_OBJECT*)&devobjs->DeviceObject);
Irp->IoStatus.Information=Status==0?sizeof(DEVOBJS):0;
}
break;
case IOCTL_MAP_VIDEO_MEMORY:
{
PDEVICEADDR devaddr=(PDEVICEADDR)IrpSp->Parameters.DeviceIoControl.Type3InputBuffer;
PDEVICE_OBJECT device=(size_t)devaddr->Device>65535?devaddr->Device:DeviceObjects[(size_t)devaddr->Device];
Status=GreDeviceIoControl(device,IOCTL_VIDEO_MAP_VIDEO_MEMORY,&devaddr->rqva,sizeof(VIDEO_MEMORY),(PVIDEO_MEMORY_INFORMATION)Irp->UserBuffer,sizeof(VIDEO_MEMORY_INFORMATION),&Irp->IoStatus.Information);
}
break;
case IOCTL_UNMAP_VIDEO_MEMORY:
{
PDEVICEADDR devaddr=(PDEVICEADDR)IrpSp->Parameters.DeviceIoControl.Type3InputBuffer;
PDEVICE_OBJECT device=(size_t)devaddr->Device>65535?devaddr->Device:DeviceObjects[(size_t)devaddr->Device];
Status=GreDeviceIoControl(device,IOCTL_VIDEO_UNMAP_VIDEO_MEMORY,&devaddr->rqva,sizeof(VIDEO_MEMORY),0,0,&Irp->IoStatus.Information);
}
break;
case IOCTL_DEVICE_IO_CONTROL:
{
PDEVIOCTRL params=(PDEVIOCTRL)IrpSp->Parameters.DeviceIoControl.Type3InputBuffer;
Status=GreDeviceIoControl((PDEVICE_OBJECT)params->DeviceObject,params->IoControlCode,params->InputBuffer,params->InputBufferSize,params->OutputBuffer,params->OutputBufferSize,&Irp->IoStatus.Information);
}
break;
default:Irp->IoStatus.Information=0;
}
Irp->IoStatus.Status=Status;
IofCompleteRequest(Irp,IO_NO_INCREMENT);
return Status;
}

NTSTATUS NTAPI DriverEntry(struct _DRIVER_OBJECT *DriverObject,PUNICODE_STRING RegistryPath)
{
NTSTATUS Status;MakeUnicodeString(DeviceName,"\\??\\viddev");
MakeUnicodeString(n,"ObQueryNameString");
ObQueryNameString=MmGetSystemRoutineAddress(&n);
if((Status=IoCreateDevice(DriverObject,0,&DeviceName,FILE_DEVICE_UNKNOWN,0,0,&ThisDeviceObject))==0)
{
DriverObject->MajorFunction[IRP_MJ_CREATE]=DriverObject->MajorFunction[IRP_MJ_CLOSE]=DispatchCreateClose;
DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL]=DispatchDeviceControl;
DriverObject->DriverUnload=DriverUnload;
}
return Status;
}

[解决办法]
status==STATUS_BUFFER_TOO_SMALL
[解决办法]
就算你软件上解决了。

能搞定 VGA采集器 吗?

正常人   显卡VGA接口  --》 VGA连接线 --》显示器
采集:    显卡VGA接口 --》VGA采集卡--》 显示器

如果,有个 迷你的微型, 不需要主机PCI插槽的  VGA采集卡,  那么,你【软件层面】什么手段也无法防止,除非你不用显示器,不用画面输出
[解决办法]
我觉得,反反截屏
------解决方案--------------------


hook住截屏用的按键,和相关的API函数。
[解决办法]

引用:
引用:

回答问题的要有点素质,不会的没把握的还有废话就不要说了,影响别人看贴是不是。毕竟这是问题帖,不是灌水的。
回到正题,“禁止所有的软件截屏”,第一,先找出截屏的方法,常用的是系统的API。至于读显存什么的,就不要费心了。第二,知道截屏的api之后,比较安全的方法,是从驱动出发,过滤相关api就可以了。
需要的知识主要就是windows ddk。china-pu……


显存怎么读?求教
[解决办法]
我只知道winxp可以这样读显存,但不知道win7该如何做,谁知道告诉一声


NTSTATUS GreDeviceIoControl(PDEVICE_OBJECT DeviceObject,ULONG IoControlCode,void*InputBuffer,ULONG InputBufferSize,void*OutputBuffer,ULONG OutputBufferSize,PULONG ReturnLength)
{
IO_STATUS_BLOCK Iosb;PIRP pIrp;NTSTATUS Status;
pIrp=IoBuildDeviceIoControlRequest(IoControlCode,DeviceObject,InputBuffer,InputBufferSize,OutputBuffer,OutputBufferSize,FALSE,NULL,&Iosb);
if(pIrp)
{
Status=IofCallDriver(DeviceObject,pIrp);
*ReturnLength=Iosb.Information;
}
}

NTSTATUS GetDeviceObjectByName(PUNICODE_STRING DeviceName,BOOLEAN CaseInsensitive,PDRIVER_OBJECT*DriverObject,PDEVICE_OBJECT*DeviceObject)
{
MakeUnicodeString(on,"\\Driver");OBJECT_ATTRIBUTES oa;NTSTATUS status;HANDLE Dir;BOOLEAN Found=0;
InitializeObjectAttributes(&oa,&on,OBJ_CASE_INSENSITIVE,0,0);
status=ZwOpenDirectoryObject(&Dir,DIRECTORY_QUERY,&oa);
if(status==0)
{
PDIRECTORY_BASIC_INFORMATION dbi;ULONG Context,ReturnLength;PUNICODE_STRING name;
dbi=ExAllocatePoolWithTag(PagedPool,4096,0);
name=ExAllocatePoolWithTag(PagedPool,1024,0);
if(dbi&&name)
{
status=ZwQueryDirectoryObject(Dir,dbi,4096,1,1,&Context,&ReturnLength);
while(status==STATUS_MORE_ENTRIES
[解决办法]
引用:
这个方法我早知道,主要是会导致系统不稳定

LZ啊LZ,别人已经帮你提出了可行方案,靠谱做法的就是拦截API,你却说会导致系统不稳定。做API拦截的产品多了去了,它们都不稳定吗?可笑了,多想想怎么提升自己的功力吧。
[解决办法]
该回复于2012-07-24 15:14:25被版主删除
[解决办法]
Vista之后,所有的窗口是绘制在一个DX surface上的,然后再进行blending的
[解决办法]
反截屏?只有在投标或忽悠甲方才有用吧,真实生活里有用么?
[解决办法]
该回复于2012-07-24 15:14:30被版主删除
[解决办法]
这lz不会在搞像当年绿坝一样的2B中的战斗机软件吧 
[解决办法]
引用:
不可能有无解的东西


那你反截屏了过后,人家也能解,因为:不可能有无解的东西!
[解决办法]
好高深啊
[解决办法]
控制所有截屏软件肯定是不可能的。但可以用相当小的代价来禁止尽可能多的截屏。
分析截屏软件的行为,可得出截屏基本有两种方式。
1. 通过剪贴板
2. 直接截取屏幕中的某一部分保存成图像文件

针对以上两种可做如下的防护:
1. 监控剪贴板变化 (SetClipboardViewer) ,发现剪贴板发生变化后,看剪贴板中是否有图片,如果有,清空它。
2. 直接保存成图像的软件,如QQ,在截图时总是先锁定屏幕,锁定屏幕其实是新建一个顶层窗口,窗口的背景图绘制成这个窗口显示之前的屏幕。防的话就获取顶层窗口,分析顶层窗口是否是全屏,窗口属主是否是特定的截图软件等。

对于通过剪贴板的截图软件则可以防的相当好,但保存成图像文件的软件,则只能根据市面上常见的软件做行为分析了。不可能做到完美。
[解决办法]
看不懂啊   
------解决方案--------------------


HOOK API的行为?如果我的窗体正好是通过你 hook 掉的 api 来画特效,那还让不让人活了?
[解决办法]

引用:
问一下各位大侠们,如果单单只屏蔽print screen sysrq键的截屏呢

如果有心截屏,谁那么傻去用这玩意?
先防止一般用户?拜托,一般用户很多都还不知道这个键盘上的按键是干嘛用的。
[解决办法]
该回复于2012-07-24 15:41:00被版主删除

热点排行