日期:2014-05-18  浏览次数:21276 次

怎样禁用文本中的另存为、打印、复制粘贴等操作?(有熟悉C#中word等文本操作的大虾请进!有满意的答复我会继续最佳分数,可给到500分)
我希望在C#程序中实现如下功能:在程序中打开文件(可能是word、excel或txt、bmp和jpg图像类型),用户不能对其文本内容进行另存为、打印、复制粘贴等操作,要怎么实现呢?

打开文件的操作已经实现了:例如:Process p = System.Diagnostics.Process.Start("d:\\1.doc");

接下来要怎样禁止另存为等操作?(希望有高手指教,有满意的答复我会继续最佳分数!)

------解决方案--------------------
你用Process打开,跟你就没啥关系了

用控件什么的显示

也许可以拦截系统的右键等消息,自己查查API,这方面不是很了解
------解决方案--------------------
1. oncontextmenu="window.event.returnvalue=false" 将彻底屏蔽鼠标右键 
<table border oncontextmenu=return(false)><td>no</table> 可用于Table 

2. <body onselectstart="return false"> 取消选取、防止复制 

3. onpaste="return false" 不准粘贴 

4. oncopy="return false;" oncut="return false;" 防止复制 

5. <link rel="Shortcut Icon" href="favicon.ico"> IE地址栏前换成自己的图标 

6. <link rel="Bookmark" href="favicon.ico"> 可以在收藏夹中显示出你的图标 

7. <input style="ime-mode isabled"> 关闭输入法 


------解决方案--------------------
这需求只能用HOOK吧消息截住 没别的办法了
------解决方案--------------------
你用 Process.Start打开的,等于新开启了一个进程打开相应的页面,打开的是word,excel本身的窗体,你的程序无法控制的。。
如果一定要控制,在winform里打开,才行。