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

推荐订阅源

Project Zero
Project Zero
Webroot Blog
Webroot Blog
Google DeepMind News
Google DeepMind News
T
Troy Hunt's Blog
N
News and Events Feed by Topic
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Forbes - Security
Forbes - Security
Attack and Defense Labs
Attack and Defense Labs
S
Security @ Cisco Blogs
W
WeLiveSecurity
Recent Commits to openclaw:main
Recent Commits to openclaw:main
L
LangChain Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
Security Affairs
O
OpenAI News
酷 壳 – CoolShell
酷 壳 – CoolShell
PCI Perspectives
PCI Perspectives
Y
Y Combinator Blog
H
Heimdal Security Blog
P
Privacy International News Feed
Know Your Adversary
Know Your Adversary
T
Tenable Blog
宝玉的分享
宝玉的分享
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
D
Darknet – Hacking Tools, Hacker News & Cyber Security
腾讯CDC
IT之家
IT之家
The Last Watchdog
The Last Watchdog
Jina AI
Jina AI
V
V2EX
www.infosecurity-magazine.com
www.infosecurity-magazine.com
The Cloudflare Blog
K
Kaspersky official blog
罗磊的独立博客
Help Net Security
Help Net Security
博客园_首页
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Privacy & Cybersecurity Law Blog
Simon Willison's Weblog
Simon Willison's Weblog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
Hacker News: Ask HN
Hacker News: Ask HN
NISL@THU
NISL@THU
C
CERT Recently Published Vulnerability Notes
云风的 BLOG
云风的 BLOG
博客园 - 三生石上(FineUI控件)
Google DeepMind News
Google DeepMind News
Martin Fowler
Martin Fowler
Scott Helme
Scott Helme
阮一峰的网络日志
阮一峰的网络日志

博客园 - 南疯

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文档中了咧。有没有提示问要密码的?没有,而且可以随意改动,嘿嘿,内容被取出来了,想干什么还不可以么?%*!~&(&%……
又是砖头,我闪!