本人由于工作需要,需要在winForm里打开word文档,并且禁用其复制功能,打开word文档已经实现了,用dsoframer组件,可是关于禁用复制功能现在遇到瓶颈了,求有研究人士指导指导!目前已了解到在C#中可用
Microsoft.Office.Interop.Word.Application和Microsoft.Office.Interop.Word.Document这两个类操作,也了解到可以在word中定义宏
Sub EditCopy
' Selection.Copy 注释掉此行
End Sub
这样可以禁用复制功能,问怎样可以在C#里使用类似的方法禁用复制功能?因为只想在C#里打开的文档不被复制,而且打开的文件未知,不知如何能winForm在打开时禁用该功能,关闭时恢复功能,即可在正常打开情况下复制?
小弟先在这里谢谢了
Microsoft.Office.Interop.Word.Application和Microsoft.Office.Interop.Word.Document这两个类操作,也了解到可以在word中定义宏
Sub EditCopy
' Selection.Copy 注释掉此行
End Sub
这样可以禁用复制功能,问怎样可以在C#里使用类似的方法禁用复制功能?因为只想在C#里打开的文档不被复制,而且打开的文件未知,不知如何能winForm在打开时禁用该功能,关闭时恢复功能,即可在正常打开情况下复制?
小弟先在这里谢谢了
第一是在当前页面禁用鼠标右键的复制功能
第二是禁用快捷键Ctrl+C
第三是用js请求你禁止用户复制的数据,而不要用后台代码实现的方式请求对于第二点,当你的页面在最前时,可以用一个键盘监听事件来截取wiindows消息,当你监听到ctrl+C的行为时,使用Clipboard.setData()方法将剪贴板的内容清空。
注意,这里只监听这个快捷键组合,不要注册,注册windows已有的键盘快捷键可能发生不可预料的冲突。当然,这只能从复制的角度去防止,如果用户用QQ截图的方式一屏一屏的截图保存你也没辙。