標籤:style blog color os 檔案 io for art
using System;using System.Windows.Forms;using System.Diagnostics;using Microsoft.Office.Interop.Word;namespace WindowsFormsApplication1{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //載入之前首先判斷系統中是否包含WORD.EXE進程,如果包含,將其殺死,然後再進行查看 KillProcess(); MessageBox.Show(CompareWordFile(@"C:\1.DOC", @"C:\2.DOC").ToString()); } public bool CompareWordFile(String source, String target) { object filename = source; var targetFileName = target; object missing = System.Reflection.Missing.Value; object readonlyobj = false; var app = new ApplicationClass { Visible = false }; var doc = app.Documents.Open(ref filename, ref missing, ref readonlyobj, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing); doc.TrackRevisions = true; doc.ShowRevisions = true; doc.PrintRevisions = true; object comparetarget = WdCompareTarget.wdCompareTargetNew; doc.Compare(targetFileName, ref missing, ref comparetarget, ref missing, ref missing, ref missing, ref missing, ref missing); var changeCount = app.ActiveDocument.Revisions.Count; Object saveChanges = WdSaveOptions.wdDoNotSaveChanges; doc.Close(ref saveChanges, ref missing, ref missing); app.Quit(ref saveChanges, ref missing, ref missing); return changeCount == 0; } public void KillProcess() { const string processName = "WINWORD"; var process = Process.GetProcessesByName(processName); try { foreach (var p in process) { p.Kill(); } } catch (Exception) { MessageBox.Show("請先關閉系統中的WINWORD.EXE進程!", "檔案對比失敗", MessageBoxButtons.OK); return; } } }}