在Delphi中,怎么让程序运行时,不让用户进行拷屏操作? 我的想法是编写windows的shell扩展,监视剪贴版,如果程序运行,剪贴版有新的图像.就清除.只是大体想法,见笑了. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以在程序运行时,将PrintScreen按键定义成空事件比如 If key={PrintScreen} //PrintScreen的具体表示法我忘了,可以看帮助 then Key=#0 //什么都不发生或者直接在该键按下后,执行clear剪贴板: clipboard.clear 这样恐怕不行.如果不是在本窗口按printscreen,那就无法截获按键.如果想通过按键截获的话.应该用全局钩子函数监视按键.这样能保证printscreen按键能截获. 哈哈!不可能控制的!!别人拿照相机怎么办呢??拷屏热键只是最直观的方法,在编程中(大概拷屏软件都是这样做的),直接获取显示的名柄,就能随时拷下屏幕正在显示的内容!!下面代码直接将屏幕内容显示在窗口中!!procedure TForm1.Button1Click(Sender: TObject);var c:tcanvas; dc:Thandle;begin dc:=getwindowdc(0); //句柄为0窗口就是屏幕 c:=tcanvas.create; c.Handle:=dc; canvas.CopyRect(rect(0,0,clientwidth,clientheight),c,rect(0,0,clientwidth,clientheight)); releasedc(0,dc); c.free;end; 同意xzisgood(夏),有这样的API函数可以监视剪切版的内容,但是这两个函数我一下子记不起来了。这个方法占用的资源少,但是也不能够放防止其他的拷屏软件进行Copy!只能禁止Windows本身Copy功能。 如何用winsock实现HTTP客户端? 请把以下C++变量的定义和处理翻译为DELPHI Cxgrid高手请进 一个mouse_event问题 如何获取服务器时间??? 关于调试的问题 系统彻底格盘重装的时候,delphi5需要保存什么文件才能恢复原来的设置? 在FastReport中做分组统计时,如何得到总页数? TWebBrowser中有框架时我怎么知道单击的是不是框架内的链接 单机版人事管理信息系统的运行环境? 请教几个在delphi编程中遇到的问题 你会不会呢?如果会的话,能不能告诉我?
If key={PrintScreen} //PrintScreen的具体表示法我忘了,可以看帮助
then Key=#0 //什么都不发生或者直接在该键按下后,执行clear剪贴板: clipboard.clear
应该用全局钩子函数监视按键.这样能保证printscreen按键能截获.
拷屏热键只是最直观的方法,在编程中(大概拷屏软件都是这样做的),直接获取显示的名柄,就能随时拷下屏幕正在显示的内容!!下面代码直接将屏幕内容显示在窗口中!!
procedure TForm1.Button1Click(Sender: TObject);
var c:tcanvas;
dc:Thandle;
begin
dc:=getwindowdc(0); //句柄为0窗口就是屏幕
c:=tcanvas.create;
c.Handle:=dc;
canvas.CopyRect(rect(0,0,clientwidth,clientheight),c,rect(0,0,clientwidth,clientheight));
releasedc(0,dc);
c.free;
end;