  | 
				VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.   
				 | 
			 
		 
		 
	
		| 上一篇主題 :: 下一篇主題   | 
	 
	
	
		| 發表人 | 
		內容 | 
	 
	
		七音
 
 
  註冊時間: 2006-05-03 文章: 13
 
  第 1 樓
  | 
		
			
				 發表於: 星期二 一月 20, 2009 9:12 am    文章主題: vfp对pdf文件的限制控制 | 
				     | 
			 
			
				
  | 
			 
			
				近来接到了公司内一个颇有挑战性的要求:加强对文件管理的控制,防止公司文件和培训资料被员工带出公司。
 
相对于控制usb来说我觉得构建一个安全访问程序更有效和人性化些。
 
 
公司的资料大多为pdf且内中图片很多,于是我思考后觉得以下步骤比较可行:
 
1,不管培训资料原本是什么格式,通过免费的pdf creater这个软件来生成禁止打印和修改的pdf,并按一定规则命名方便vfp的访问。
 
2,将pdf放于文件服务器特定目录,通过域来控制用户的可读访问。
 
3,通过VFP来读取pdf,在用户端除了打开外,不能打印不能复制也无法得知文件所在路径。
 
 
目前我在vfp中是通过浏览器控件来打开PDF的,已经通过拖动浏览器控件达到隐藏了pdf菜单,对用户来说也看不到文件路径,只剩下一个问题了:
 
就算你用Adobe来限制pdf也无法阻止Pdf文件的‘另存为副本’这一功能,在vfp中打开也一样,就算我隐藏了菜单,用户如果按下'Shift+ctrl+s'还是可以当场跳出另存为的窗口,虽然另存为的文件依然继承原文件不可打印不可修改的特性,但已经产生了将文件带出公司阅读的可能性了。
 
我也试图设置成当用户一按下shift或者ctrl或者S就跳出其他功能以此来阻挠Shift+ctrl+s的完整性,但遗憾的是都不对该浏览器控件生效,因为一运行起来就好像这个vfp中的浏览器窗口跟vfp进程完全独立一般,哪怕我把焦点转移到其他地方的文本框,按下Shift+ctrl+s也还是会出现另存窗口。
 
技穷了,请求高手指点
 
 
另外还有些模糊的概念也一并询问:vfp有没办法屏蔽print screen这个键? vfp可否对USB接口有控制的可能? | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		garfield Site Admin
  
  註冊時間: 2003-01-30 文章: 2160
 
  第 2 樓
  | 
		
			
				 發表於: 星期二 一月 20, 2009 10:31 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				文件想讓人看又不想資料外洩,
 
跟鈔票掉到路上而不會有人檢走一樣困難,
 
至少要包裝一下以降低風險.
 
是否試一下用 IE裡內嵌的 swf 播放器,
 
透過 swf 看文件, 會不會再更安全點,
 
http://www.swftools.org/ 這個網站有一些免費工具可以幫助你將文件轉成 swf
 
試看看吧, 應該比直接開pdf有更多的防護才對. _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		七音
 
 
  註冊時間: 2006-05-03 文章: 13
 
  第 3 樓
  | 
		
			
				 發表於: 星期二 一月 20, 2009 10:39 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				| 谢谢,我去试一下,有战果再来分享。 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		syntech
 
 
  註冊時間: 2003-05-16 文章: 4252 來自: Taipei,Taiwan
  第 4 樓
  | 
		
			
				 發表於: 星期二 一月 20, 2009 11:06 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				使用者可以攔截螢幕訊號到其他裝置,例如錄像機,
 
或者使用相機拍攝畫面.
 
 
或者使用者看過之後,使用記憶擷取裝置從腦中取出資料.  XD _________________ 如果公司有下列困擾:
 
1. 找不到便宜,快速,簡易的 生產排程軟體
 
2. 不知道如何快速排定 採購計劃
 
3. 成本抓不準,自己算比軟體算有用
 
4. 想學習系統規劃,想找系統架構的顧問
 
 
請聯絡我們,也許我們幫得上忙 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		七音
 
 
  註冊時間: 2006-05-03 文章: 13
 
  第 5 樓
  | 
		
			
				 發表於: 星期二 一月 20, 2009 12:14 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				严格来说,要控制到滴水不漏是不可能,就算你用泥巴封住了USB口,砍断了网线,他只要能打开文件,用相机一张张拍也能带走,我们所能做到的就是尽可能的限制。
 
 
刚才去找了找,有种flashpaper工具也能直接生成swf(会比pdf模糊些,因此需要稍微放大才能看清楚),通过vfp的SwFlash.ocx或者浏览器均能打开,但问题是文件打开后有打印按钮浮现在右上角,而如果为了隐藏打印功能我把浏览窗口往上移动着放而隐藏掉一行的工具栏,那么也把缩放功能按钮给隱了。
 
想在旁边直接做几个按钮来模仿"+""-"来缩小或放大该如何做呢?我查过,keyboard '{}'所接受的键标记不包括+和-,而且就算我用了keyboard'{uparrow}'也无法控制swf,又回到老问题了……该如何模拟键盘操作通过按钮来操控vfp中的这种控件? | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		syntech
 
 
  註冊時間: 2003-05-16 文章: 4252 來自: Taipei,Taiwan
  第 6 樓
  | 
		
			
				 發表於: 星期二 一月 20, 2009 4:10 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				USB 接口一般是用3方工具直接關閉,
 
 
printscreen 應該與剪貼簿有關,
 
但是關閉茲事體大.
 
 
記得pdf檔 設密碼後,沒密碼就開不了,寫不進,印不出, _________________ 如果公司有下列困擾:
 
1. 找不到便宜,快速,簡易的 生產排程軟體
 
2. 不知道如何快速排定 採購計劃
 
3. 成本抓不準,自己算比軟體算有用
 
4. 想學習系統規劃,想找系統架構的顧問
 
 
請聯絡我們,也許我們幫得上忙 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		garfield Site Admin
  
  註冊時間: 2003-01-30 文章: 2160
 
  第 7 樓
  | 
		
			
				 發表於: 星期二 一月 20, 2009 6:26 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				這些程式碼看看能否用得上
 
************************ key board print screen
 
On KEY LABEL F9 CAPTURE()
 
Procedure CAPTURE
 
*function ScreenCapture
 
Lparameters lActiveWin
 
Declare keybd_event IN Win32API SHORT bVk, SHORT bScan, INTEGER dwFlags, INTEGER deExtraInfo
 
lnsnapshot = 44
 
Return keybd_event(lnsnapshot, IIF(lActiveWin,0,1), 0, 0)
 
Endproc
 
 
***************** VB
 
public enum KeyModifiers 
 
{ 
 
 None = 0, 
 
 Alt = 1, 
 
 Control = 2, 
 
 Shift = 4, 
 
 Windows = 8 
 
}
 
Const KEYEVENTF_KEYUP = &H2 ' Release key
 
Const VK_RETURN = &HD 'enter
 
Const VK_SHIFT = &H10 'Shift
 
Const VK_CONTROL = &H11 'Ctrl
 
Const VK_CAPITAL = &H14 'capslock
 
Const VK_ESCAPE = &H1B 'escape
 
 
keybd_event(2, 0, 0, 0)
 
keybd_event(asc('V'), 0, 0, 0)
 
keybd_event(asc('V'), 0, 2, 0)
 
keybd_event(2, 0, 2, 0)
 
 
keybd_event(16,0,0,0)   //按下SHIFT?
 
 
keybd_event(9 ,0,0,0)   //按下下TAB 
 
 
keybd_event(9 ,0,2,0)   //放?TAB? 
 
 
keybd_event(16,0,2,0)   //放?SHIFT? _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
  	 
	    
  	   | 
 	
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
  | 
   
  
		 |