วิธีการตรวจสอบสิ่งที่ปิดการใช้งานสกรีนเซฟเวอร์?


19

มีแอปพลิเคชั่น Windows ใดบ้างที่จะพิจารณาว่ากระบวนการใดที่ทำให้โปรแกรมรักษาหน้าจอไม่ทำงาน


1
ยินดีต้อนรับสู่ SuperUser คุณใช้ Windows รุ่นใดอยู่
Raystafarian

1
โปรแกรมรักษาหน้าจอที่ไม่เปิดใช้งานอาจเกิดจากปัญหาต่าง ๆ สามประการ: (1)โปรแกรมป้องกันหน้าจอโดยเฉพาะ(2)เมาส์ป้องกันหน้าจอเนื่องจากเมาส์“ เคลื่อนที่” เนื่องจากผมบนเซ็นเซอร์ออปติคัล (หรือลูกบอลสกปรก ) หรือวางอยู่บนขอบโต๊ะ / แผ่น / ฯลฯ หรือ(3)โปรแกรมหรือเมาส์ป้องกันไม่ให้ตัวเลือกการจัดการพลังงานเปิดใช้งานและทำให้หยุดสกรีนเซฟเวอร์โดยอ้อม ฉันไม่รู้ว่ามีโปรแกรมใดบ้างที่สามารถแสดงรายการซอฟต์แวร์อื่น ๆ ที่กำลังปิดกั้นหน้าจอ / การตั้งค่าพลังงานตามวัตถุประสงค์ แต่ปัญหาของเมาส์นั้นง่ายต่อการตรวจสอบ
Synetech

1
^ เห็นด้วยยังไม่เห็นโปรแกรมที่ค้นหาว่าโปรแกรมใด โปรแกรมหรือกระบวนการต่าง ๆ สามารถหยุดได้บ่อยครั้ง เมื่อมีปัญหาเดียวกันฉันตั้งค่าตัวรักษาหน้าจอ (หรือตัวเลือกพลังงานอื่น ๆ ) ให้สั้นมากแล้วทดสอบโดยเริ่มและหยุดสิ่งต่าง ๆ นอกจากนี้ "อุปกรณ์" ในตัวจัดการอุปกรณ์มีแท็บ "การจัดการพลังงาน" อุปกรณ์เหล่านั้นจะให้การควบคุม "อนุญาตให้อุปกรณ์นี้ปลุกคอมพิวเตอร์" ดังนั้นเมื่อคุณหมดตัวเลือกโปรแกรมคุณสามารถไปยังตัวเลือกอุปกรณ์
Psycogeek

2
infosecblog.org/2011/03/windows-7-screensaver-timeout นโยบายกลุ่มแฟลชถือออกและการแทนที่ Vmware & Powercfg
Psycogeek

2
ทำหน้าจอโปรแกรมรักษาตัวอย่างหรือใช้โปรแกรมเช่นโปรแกรมขนาดเล็กจำนวนมากที่เตะในโดยตรงpretentiousname.com/miscsoft/index.html#ScreenSave (screensave) สามารถให้ความช่วยเหลือในการค้นพบสิ่งที่เตะมันกลับออกหรือทำให้มันเกิดขึ้นจาก . ที่สามารถประหยัดเวลา
Psycogeek

คำตอบ:


13

powercfgสร้างขึ้นใน windows และให้คุณควบคุมและดูการตั้งค่าการจัดการพลังงานจำนวนมาก

powercfg -energy -trace

สิ่งนี้จะสร้างบันทึกเหตุการณ์การจัดการพลังงานที่มีรายละเอียดมาก ๆ คือ energy-trace.etl เปิดด้วยตัวแสดงเหตุการณ์และบันทึกตัวกรองตามแหล่งที่มาของเหตุการณ์: เคอร์เนล - พาวเวอร์รวมถึงรหัสเหตุการณ์: 62

สิ่งนี้จะให้เหตุการณ์ที่มีลักษณะดังนี้:

แอปพลิเคชันหรือบริการ \ Device \ HarddiskVolume1 \ games \ Steam \ Steam.exe ได้แทนที่การตั้งค่าการจัดการพลังงานของผู้ใช้ด้วยรหัส 0x3

รหัสอาจแตกต่างกันขึ้นอยู่กับว่ามีการป้องกันหน้าจอ, sleep sleep หรือการเปลี่ยนสถานะอื่น


ฉันได้รับ "ไม่สามารถโหลดไลบรารีการวินิจฉัยประสิทธิภาพการใช้พลังงาน (energy.dll)" ทำไมจึงเป็นเช่นนั้น (บริการกำลังเริ่มต้น)
Sanjay Manohar

1
ในกรณีนี้คือการขับรถคนอื่นถั่ว: เพื่อเปิดเปิด energytrace.etl Event Viewer| คลิกที่Event Viewer (Local)ต้นไม้ Action| Open Saved Log| เปิดC:\Windows\System32\energytrace.etl บอกให้แปลงเป็นรูปแบบบันทึกใหม่ ใช้งานได้บน windows 10
candied_orange

3
ใน Windows 10 เพียงแค่เรียกใช้ powercfg / energy และหน้าเว็บจะถูกสร้างขึ้นแทน
ศาสตราจารย์การเขียนโปรแกรม

8

เรียกใช้powercfg /requestsจากพรอมต์คำสั่งของผู้ดูแลระบบ ตัวอย่างเช่นพิมพ์ของฉัน:

DISPLAY:
[PROCESS] \Device\HarddiskVolume8\Games\Origin\Origin.exe
Playing video

SYSTEM:
[DRIVER] Realtek High Definition Audio (HDAUDIO\FUNC_01&VEN_10EC&DEV_0900&SUBSYS_10438560&REV_1000\4&9793a48&0&0001)
An audio stream is currently in use.

AWAYMODE:
None.

ซึ่งบ่งชี้ว่า Origin กำลังเล่นวิดีโอและนี่เป็นการป้องกันไม่ให้สกรีนเซฟเวอร์ทำงาน


1

บางครั้งการเปลี่ยนเวลาบนตัวรักษาหน้าจอ (ไม่ใช่ประเภท) เป็นอย่างอื่นพูดจาก 10 นาทีลงไปที่ 1 แล้วกลับไปที่สิ่งที่คุณมีก่อนหน้านี้จะช่วยให้โปรแกรมรักษาหน้าจอทำงานได้ตามปกติ


1

ขอบคุณ W1N9Zr0 ที่ชี้ให้ฉันไปในทิศทางที่ถูกต้อง!

ในกรณีของฉันมันเป็นเครื่อง XP Pro (SP3) ดังนั้นสวิตช์"พลังงาน"จึงไม่พร้อมใช้งานอย่างไรก็ตามสวิตช์"devicequery"ระบุว่าเป็นเมาส์หรือแป้นพิมพ์ เมื่อฉันเปลี่ยนจากแป้นพิมพ์ PS / 2 ที่ฉันใช้เป็นแป้นพิมพ์ USB สกรีนเซฟเวอร์ (และตัวเลือกพลังงานอื่น ๆ ) จะเปิดขึ้นตามการตั้งค่า

หมายเหตุ: เมื่อตั้งค่าสกรีนเซฟเวอร์ไว้ที่ 1 นาทีบางครั้งมันก็จะเปิดขึ้นดังนั้นฉันจึงรู้ว่ามันใช้งานได้ อะไรที่เกิน 1 นาทีและสกรีนเซฟเวอร์จะไม่มีวันเตะ


0

ฉันพบว่าผู้ร้ายมักจะเป็นเครื่องเล่นสื่อ คุณคิดว่ามันจะเป็นเพียงเมื่อเล่นวิดีโอ แต่ฉันมีผู้เล่นเพลงบางคนที่ปิดโปรแกรมรักษาหน้าจอ เช่นฉันเปิด Amazon Music and Groove และหยุดชั่วคราวในวันนี้และเพิ่งพบว่าหน้าจอของฉันยังคงถูกปลดล็อคหลังจากผ่านไปหนึ่งชั่วโมง

ฉันไม่แน่ใจว่าจะตำหนิอะไร แต่ฉันสงสัยว่าพวกเขาเหนือ IDE และเบราว์เซอร์ที่ฉันใช้อยู่ซึ่งทั้งสองอย่างนี้ปล่อยให้ล็อกหน้าจอ


-2

ฉันไม่ทราบว่าโปรแกรมใดที่ทำเช่นนี้ แต่วิธีการค้นหาคือผ่านฟังก์ชัน GetThreadExecutionState () ซึ่งจะเก็บค่า ES_DISPLAY_REQUIRED หากเธรดกำลังปิดกั้นโปรแกรมรักษาหน้าจอในขณะนี้

ถ้าคุณใช้ฟังก์ชันนี้กับเธรดทั้งหมดในระบบจากนั้นเรียกใช้ GetProcessIdOfThread บนเธรดที่คุณค้นหาคุณจะพบกระบวนการที่กำลังบล็อกสกรีนเซฟเวอร์


1
ไม่มี "GetThreadExecutionState ()"
James
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.