惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 司徒正美
大猫的无限游戏
大猫的无限游戏
Scott Helme
Scott Helme
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
S
Secure Thoughts
Google DeepMind News
Google DeepMind News
博客园_首页
Hacker News: Ask HN
Hacker News: Ask HN
量子位
Jina AI
Jina AI
I
InfoQ
V
V2EX
Martin Fowler
Martin Fowler
Y
Y Combinator Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
人人都是产品经理
人人都是产品经理
B
Blog
IT之家
IT之家
云风的 BLOG
云风的 BLOG
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - Franky
博客园 - 【当耐特】
N
Netflix TechBlog - Medium
Cloudbric
Cloudbric
H
Heimdal Security Blog
TaoSecurity Blog
TaoSecurity Blog
S
Security @ Cisco Blogs
U
Unit 42
Project Zero
Project Zero
Webroot Blog
Webroot Blog
The Register - Security
The Register - Security
N
News | PayPal Newsroom
Microsoft Security Blog
Microsoft Security Blog
H
Help Net Security
Forbes - Security
Forbes - Security
宝玉的分享
宝玉的分享
Last Week in AI
Last Week in AI
C
Check Point Blog
博客园 - 聂微东
M
MIT News - Artificial intelligence
有赞技术团队
有赞技术团队
D
DataBreaches.Net
Cyberwarzone
Cyberwarzone
N
News and Events Feed by Topic
N
News and Events Feed by Topic
Simon Willison's Weblog
Simon Willison's Weblog
J
Java Code Geeks
G
Google Developers Blog
GbyAI
GbyAI
T
Threatpost

博客园 - 南疯

C#中获得月份中的第一天和最后一天和判断闰年 VS2008的网页报表可以直接打印了 Impossible 与 I’m possible 别吵了,.NET和JAVA两大帮派合并了! 让"指定的 MSProjectServerRole 帐户不属于 MSProjectServerRole 角色"去死吧 我所理解的工作流工作模式 BusinessObjects系统用户信息同步的解决类 关于BusinessObjects系统单点登录(SSO)解决办法(二) 关于BusinessObjects系统单点登录(SSO)解决办法(一) 一个封装比较完整的FTP类——clsFTP How to share Session variables across Domains(在不同域之间共享Session) 还是VS2005全角问题 博客园(堂)内的互助有感 一个完整的接口技术解决方案 一个完整的接口技术解决方案(八) 一个完整的接口技术解决方案(七) 一个完整的接口技术解决方案(六) 一个完整的接口技术解决方案(五) 一个完整的接口技术解决方案(四)
教您怎样在C#中锁定Word内容,还教您怎样把人家的锁定内容破解了
南疯 · 2007-04-29 · via 博客园 - 南疯

       在C#中如何操作Word文档的文章一大箩框,我也来凑凑热闹,不过,我不想写太多,否则,看官,等您看完本搏,发现相当什么都没说一样,嘘——,闪砖头先!

      总是有一些Word文档,比如正式的公文,签字的文件等等,创建者在写完文档之后,总是给文档来一把锁。注意,我这里所说的锁不是打开文档的时候输入密码的那种锁,而是可以让您正常打开,但是不能修改里面文字内容,不能删除里面的文字内容,不能调整文档的格式,甚至不能复制粘贴内容,另存为另外的文件也还是依旧的那种锁(光看着着急,想做点坏事都不行)。

       下面我来教教您怎样在C#中实现这样的功能,学会这招,也许哪天您也能Show一把。实现非常easy:

public void LockWordContent(string FileName, string ProtectPWD)
        
{
            Microsoft.Office.Interop.Word.Application Ap 
= new Application();
            Ap.Visible 
= false;   
            
object objFileName = FileName;
            
object obj = Type.Missing;
            
//打开Word文档
            Microsoft.Office.Interop.Word.Document Doc = Ap.Documents.Open(ref objFileName,
                
ref obj,
                
ref obj,
                
ref obj,
                
ref obj,
                
ref obj,
                
ref obj,
                
ref obj,
                
ref obj,
                
ref obj,
                
ref obj,
                
ref obj,
                
ref obj,
                
ref obj,
                
ref obj,
                
ref obj);

            
//下面对文档里面的内容进行各种操作操作
            
//……

            
//操作结束,保存之前对文档进行内容锁定
            Object objProtectPWD = ProtectPWD;   //锁定的密码
            Object NoSet = null;
            Doc.Protect2002(WdProtectionType.wdAllowOnlyFormFields, 
ref NoSet, ref objProtectPWD);

            Doc.Save();

            
//后面关闭Doc对象等等
            
//……
        }

       看着您成功的把Word文档加锁,您也许坏坏的邪笑,(*^__^*) 嘻嘻……
       慢着!下面的方法可以破解您的所有锁定,不管是代码实现的锁定还是在Word本身中实现的锁定。您不是只能看,不能改不能删么?这样做:
1、关闭被锁定的文档A.DOC
2、新建一个Word文档B.DOC
3、在文档B.DOC中,依次打开菜单“插入--对象--文件中的文字”(我是office2007版本,2003也一样)
WOO double!怎么啦,A文档中所有的内容被插入到B文档中了咧。有没有提示问要密码的?没有,而且可以随意改动,嘿嘿,内容被取出来了,想干什么还不可以么?%*!~&(&%……
又是砖头,我闪!