การนับเอกสารใหม่ของ Word เริ่มต้นขึ้นเมื่อ winword.exe แรกเริ่มต้นและสิ้นสุดลงเมื่อ winword.exe สุดท้ายออก
ฉันคิดว่าสิ่งที่คุณเห็นน่าจะเป็นแอพพลิเคชั่นอื่นในระบบที่ใช้ Word สำหรับการทำงานบางประเภทและทำให้ winword.exe ทำงานอยู่ การใช้งานทั่วไปสำหรับสิ่งนี้คือการใช้ Word สำหรับตรวจสอบการสะกด ฉันได้ยกตัวอย่างที่ด้านล่างของคำตอบที่ทุกคนสามารถลองได้ แต่ Microsoft มีตัวอย่างของตัวเองใน C # บน MSDN (ค้นหา "วิธีการ: ใช้ COM Interop เพื่อตรวจสอบการสะกดโดยใช้ Word (C # คู่มือการเขียนโปรแกรม)" ตามที่ฉัน ไม่มีลิงก์ในระดับชื่อเสียงของฉัน)
ในการตรวจสอบว่านี่คือสิ่งที่ทำให้เกิดปัญหาในครั้งต่อไปที่คุณเห็นสิ่งนี้เกิดขึ้นให้ปิดหน้าต่าง Word ที่มองเห็นได้ทั้งหมดเปิดป๊อปเปิดตัวจัดการงานของ Windows เลือกแท็บรายละเอียดและดูว่า WINWORD.EXE ทำงานอยู่หรือไม่
เนื่องจากการเข้าถึง Word ชนิดนี้ผ่านการควบคุม COM ดังนั้นกระบวนการหลักของ WINWORD.EXE นี้จึงเป็นเพียง svchost.exe เท่าที่ฉันรู้ไม่มีทางที่จะเห็นสิ่งที่เรียกว่าการควบคุมหลังจากความจริง
ในการเริ่มต้นคิดว่า WINWORD.EXE กำลังทำงานอยู่ให้เลือกและเลือก End Task ใน Task Manager หาก WINWORD.EXE รีสตาร์ทและเริ่มทำงานอีกครั้งในไม่กี่วินาทีดูตัวเลือกที่สองด้านล่างสำหรับวิธีการเข้าสู่ระบบและหวังว่าแอปพลิเคชันจะเกิดข้อผิดพลาดอย่างรวดเร็ว
สมมติว่า WINWORD.EXE ไม่ทำงานอีกต่อไปตัวเลือกแรกในการหาสิ่งนี้คือเพียงแค่ปล่อยให้ตัวจัดการงานทำงานเลือกตัวเลือกอยู่ด้านบนเสมอจากนั้นเปิดแท็บรายละเอียดเปิดใช้งานปรับขนาดหรือบนหน้าจออื่นด้วยชื่อ W กระบวนการที่มองเห็นได้ จากนั้นคุณสามารถดำเนินการตามขั้นตอนการทำงานตามปกติและเมื่อคุณเริ่มแอปพลิเคชั่นใหม่หรือทำงานต่างๆ
ตัวเลือกที่สองคือการใช้ Windows Sysinternals Process Monitor จากไซต์ TechNet ของ Microsoft คุณจะต้องค้นหาหากคุณยังไม่มีเครื่องมือนี้เนื่องจากฉันไม่มีลิงก์เหลืออยู่ในคำตอบ การใช้เครื่องมือนี้คุณสามารถจับภาพเมื่อใดและโดยสิ่งที่ Word COM เริ่มต้นจากการควบคุม หลังจากที่คุณดาวน์โหลดเปิดตัวเครื่องมือและยอมรับ EULA แล้วเลือก Filter, Filter (หรือเพียงแค่กด Ctrl-L) สลับฟิลด์แรกเป็น Path จากนั้นเลือกวินาทีที่จะประกอบด้วยวางใน: {000209FF-0000-0000-C000-000000000046}
เป็นฟิลด์ข้อความและตรวจสอบ บอกว่าจะสร้างตัวกรองรวม โปรดสังเกตว่า GUID ที่เราค้นหานั้นรู้จักกันในชื่อ Word แต่คุณสามารถค้นหาด้วยตนเองได้อย่างง่ายดายด้วยการค้นหา Word.Application ในรีจิสทรี สกรีนช็อต: การตรวจสอบกระบวนการสร้างตัวกรองเพื่อค้นหาการควบคุม Word COM:
เลือกเพิ่มแล้วตกลง
การตรวจสอบกระบวนการจะว่างเปล่า หากเหตุการณ์ไม่นับในแถบสถานะด้านล่าง (ตัวกรองปัจจุบันไม่รวม ... ) ตรวจสอบให้แน่ใจว่าได้เลือกไฟล์บันทึกเหตุการณ์แล้ว
ถ้าคุณสามารถทริกเกอร์ WINWORD.EXE รีสตาร์ทเมื่อคุณสิ้นสุดกระบวนการใน Task Manager ทำอีกครั้งเพื่อรับ WINWORD.EXE เพื่อรีสตาร์ทและหวังว่าจะเปิดเผยกระบวนการที่ผิดพลาด หากไม่เป็นเช่นนั้นคุณอาจต้องรีสตาร์ท Windows และเริ่มกระบวนการตรวจสอบใหม่เพื่อโอกาสในการจับภาพได้ดีขึ้น จากนั้นไปทำงานตามปกติของคุณตรวจสอบเป็นระยะเพื่อดูว่า Process Monitor จับภาพสิ่งใดหรือไม่ ในที่สุดเมื่อมันทำฟิลด์ชื่อกระบวนการควรเปิดเผยผู้กระทำผิด หากไม่ชัดเจนให้ดับเบิลคลิกที่รายการใดรายการหนึ่งแล้วเลือกแท็บกระบวนการเพื่อดูรายละเอียดทั้งหมด
นอกจากนี้หากคุณจำเป็นต้องเรียกใช้การตรวจสอบกระบวนการเป็นระยะเวลานานคุณอาจต้องการตรวจสอบเป็นระยะ ๆ และล้างการจับภาพ (Ctrl-X) เพื่อป้องกันไม่ให้หน่วยความจำ pagefile หมด (หรือคุณสามารถใช้ไฟล์สำรองอื่นได้ แต่นั่นเป็นหัวข้ออื่น)
เพื่อแสดงให้เห็นถึงปัญหาและฟังก์ชั่นการตรวจสอบกระบวนการคุณสามารถจำลองพฤติกรรมโดยใช้ VBScript แบบง่าย ๆ ในการทำเช่นนั้นให้เปิด Notepad แล้ววางสิ่งต่อไปนี้:
Set Word = CreateObject("Word.Application")
Word.Visible = False
Set NewDocument = Word.Documents.Add()
test.vbs
แล้วบันทึกลงในสก์ท็อปของคุณเป็น สลับไปที่เดสก์ท็อปและคลิกสองครั้งที่ test.vbs เพื่อดำเนินการ VBScript ย้อนกลับไปในการตรวจสอบกระบวนการคุณจะเห็นว่าชื่อกระบวนการคือ WScript.exe (เอ็นจิ้น VBScript เริ่มต้น) และนั่นคือสิ่งที่รับผิดชอบในการเริ่มต้น Word สกรีนช็อต: การตรวจสอบกระบวนการแสดง WScript.exe เริ่มการควบคุม Word:
คุณสามารถเริ่มโปรแกรม Word จากเมนูเริ่มและคุณควรอยู่ที่ Document2 คุณจะต้องฆ่ากระบวนการ WINWORD.EXE ด้วยตนเองในตัวจัดการงานมิฉะนั้นมันจะยังทำงานต่อไป