การเรียก API ของ Windows (8.1) สำหรับ control-alt-shift + ยกเลิกจากหน้าจอปิดเครื่องหรือไม่


2

Explorer.exe ชนกับฉันโดยไม่ต้องนำระบบทั้งหมดมาที่หัวเข่า นี่ไม่ใช่ครั้งแรกที่สิ่งนี้เกิดขึ้น โดยทั่วไปฉันสูญเสียไอคอน Start Bar + taskbar + systray + desktop และเหลือด้วยเดสก์ท็อปสีน้ำเงินเข้ม (ไม่มีภาพพื้นหลัง)

โดย control-alt-delete ฉันสามารถเปิดเมนูล็อคหน้าจอ (รวมถึงตัวจัดการงาน) ด้วยการใช้ตัวจัดการงานการแจ้งคำสั่งและ Explorer ในกระบวนการของ MS sysinternals ฉันสามารถสร้างทั้งหน้าต่างผู้ใช้มาตรฐานและหน้าต่างยกระดับ อย่างไรก็ตามภายใต้ทั้งการเข้าสู่ระบบมาตรฐานของฉันหรือการเข้าสู่ระบบผู้ดูแลระบบของฉันฉันสามารถเปิดใช้ explorer อีกครั้งเพื่อกู้คืนเดสก์ท็อป การเรียกใช้ explorer.exe โดยไม่มีสวิตช์ใด ๆ ปรากฏว่าไม่ทำอะไรเลย Explorer.exe / n หรือ / e (หรือสวิตช์หรือการเปิดใช้งานเอกสารอื่น ๆด้วย " START") ให้หน้าต่างเบราว์เซอร์ไฟล์แก่ฉัน แต่ไม่ใช่แถบเริ่ม + ทาสก์บาร์การฆ่าและรีสตาร์ท explorer.exe นี้ไม่ได้เรียกคืนฟังก์ชันการทำงานเช่นกันคลิกขวาที่ Windows Explorer (หน้าต่างไฟล์สำรวจใหม่) ในตัวจัดการงานและเลือก" เริ่ม " จาก Processes-> Apps ไปยัง Processes-> กระบวนการ Windows (โดยไม่ต้องเปิดไฟล์ explorer) และรีสตาร์ทจากที่นั่นเปลี่ยนเป็น Processes-> กระบวนการพื้นหลังจากที่ไม่มีตัวเลือกเปิดไฟล์ explorer หรือรีสตาร์ท

แป้นพิมพ์ลัดของ Windows ดูเหมือนจะไม่ทำงานเนื่องจากไม่มีแถบเริ่มต้น พวกเขาไม่ทำงานกับหน้าต่าง explorer ไฟล์เริ่มต้นในโฟกัส Alt-F4 ที่ไม่มีอะไรโฟกัสหรือหลังจากคลิกบนพื้นหลังสีน้ำเงินไม่ได้แสดงเมนู / การสนทนาใด ๆ Alt-F4 จากภายในแอปพลิเคชันยังคงทำงานเพื่อปิดหน้าต่าง | แอปพลิเคชันตามความเหมาะสม สัญญาณความดังขึ้น - ลงของชุดหูฟังของฉันก็ไม่ได้แปลว่าอะไรยังเหลืออยู่ในระบบ (แต่ฉันสามารถควบคุมระดับเสียงผ่านทางตัวเลื่อนเฉพาะแอปพลิเคชัน)

ฉันดูเหมือนจะไม่สามารถนำบทสนทนาปิดขึ้นมาได้ตามhttps://serverfault.com/questions/4464/hidden-commands-on-windowsเคล็ดลับที่สองเนื่องจากฉันไม่สามารถใช้แป้นพิมพ์ลัดหรือใช้แถบเริ่มต้น ใช้รหัสต่อไปนี้แรงบันดาลใจจากสิ่งนี้และที่ :

<!DOCTYPE html>
<!-- saved from url=(0016)http://localhost -->
<HTML>
<HEAD>
    <TITLE>Start Page</TITLE>

    <OBJECT ID="oShell"
        CLASSID="clsid:13709620-C279-11CE-A49E-444553540000">
    </OBJECT>

    <STYLE>
        INPUT {width: 200} 
    </STYLE>  

    <SCRIPT LANGUAGE="VBScript">
    <!--
        function fnStart(sMethod)
            dim objShell
            set objShell = CreateObject("shell.application")
                set objWscr = CreateObject("WScript.Shell")
            select case sMethod
              case 0    
                  'Minimizes all windows on the desktop
                oshell.Shell_MinimizeAll
              case 1  
                  'Displays the Run dialog box
                oshell.FileRun
              case 2  
                  'Displays the Shut Down Windows dialog box
                'neither oshell.Shell_Shutdown nor oshell.Shell_ShutdownWindows (supplied in MS docs) are recognized as valid functions of the oshell object.
                objShell.ShutdownWindows
                oshell.ShutdownWindows
                     'objWscr.Run "Rundll Shell32.dll,SHExitWindowsEx" ' returns "The system cannot find the file specified" error box.
                set objShell = nothing
              case 3  
                  'Displays the Find dialog box
                oshell.Shell_FindFilesr
              case 4  
                  'Displays the Date/Time dialog box
                oshell.Shell_SetTime 
              case 5  
                  'Displays the Internet Properties dialog box
                oshell.Shell_ControlPanelItem "INETCPL.cpl"
              case 6  
                  'Explores the My Documents folder
                oshell.Shell_Explore "C:\My Documents"
              case 7  
                  'Enables user to select folder from Program Files
                oshell.Shell_BrowseForFolder 0, "My Programs", 0, "C:\Program Files" 
              case 8  
                  'Opens the Favorites folder
                oshell.Shell_Open "C:\WINDOWS\Favorites"
              case 9  
                  'Displays the Taskbar Properties dialog box
                oshell.Shell_TrayProperties
            end select  
        end function      
    -->
    </SCRIPT>
<SCRIPT type="text/javascript" LANGUAGE="JavaScript">
function logout() {
    //code
    (new ActiveXObject("Shell.Application")).ShutdownWindows();
}
logout();
</SCRIPT>

</HEAD>

<BODY>
    <H1>Start...</H1>
    <INPUT type="button" value="Edit Taskbar Properties" onclick="fnStart(9)"><br>
    <INPUT type="button" value="Open Favorites Folder" onclick="fnStart(8)"><br>
    <INPUT type="button" value="Browse Program Files" onclick="fnStart(7)"><br>
    <INPUT type="button" value="Explore My Documents" onclick="fnStart(6)"><br>
    <INPUT type="button" value="Modify Internet Properties" onclick="fnStart(5)"><br>
    <INPUT type="button" value="Set System Time" onclick="fnStart(4)"><br>
    <INPUT type="button" value="Find a File or Folder" onclick="fnStart(3)"><br>
    <INPUT type="button" value="Shut Down Windows" onclick="fnStart(2)"><br>
    <INPUT type="button" value="Run" onclick="fnStart(1)">     
    <INPUT type="button" value="Minimize All Windows" onclick="fnStart(0)">     
</BODY>
</HTML>

ในฐานะที่เป็นไฟล์ hta (และเมื่อคลิกที่ปิดระบบ Windows) จะไม่ทำอะไรเลย แต่จะไม่เกิดข้อผิดพลาดใด ๆ ในฐานะที่เป็นไฟล์ htm (l) ใน Internet Explorer มันจะโยนข้อผิดพลาด "การอนุญาตถูกปฏิเสธ" โดยไม่คำนึงถึงการตั้งค่าสำหรับโซนท้องถิ่น ฉันลองใช้พีชคณิตของโค้ดนี้สองสามอันรวมถึง: ที่นี่ , ที่นี่

Control-Alt-Delete ตามด้วย "สลับผู้ใช้" และเข้าสู่ระบบโดยตรงในขณะที่บัญชีผู้ดูแลระบบส่งผลให้เข้าสู่หน้าจอสีดำบริสุทธิ์ด้วยเคอร์เซอร์ของเมาส์ การควบคุม Alt-Delete และการสลับกลับไปยังการเข้าสู่ระบบที่ไม่ใช่ผู้ดูแลระบบของฉันจะนำ "เดสก์ท็อป" สีน้ำเงินเข้มกลับมาโดยไม่มีไอคอน (หลังจากประมาณ 0.1 วินาทีของการแสดงแสงสีน้ำเงินทึบ | cyan | teal

ฉันสงสัยว่ามี CLSID หรือวัตถุแอปพลิเคชันที่สามารถเรียกใช้สิ่งที่เรียกว่าจาก control-alt-shift + ยกเลิกจากบทสนทนาการปิดเครื่องหรือไม่ อีกวิธีหนึ่งคุณรู้วิธีที่ฉันสามารถฆ่าบริการระบบที่ wraps explorer เริ่มบริการเพื่อให้ฉันกลับเดสก์ท็อปของฉันหรือไม่

ฉันจะไม่ปิด / รีบูตเพราะฉันใช้พีซีนี้เป็นเซิร์ฟเวอร์และต้องการให้มันเป็น "always-up" มากที่สุด


1
คุณได้ลองใช้งานแล้ว: C:\Windows\system32\userinit.exeหากการรีสตาร์ทexplorer.exeไม่ส่งผลให้ระบบมีพฤติกรรมที่ดีและส่งผลกระทบต่อบัญชีอื่น ๆ ฉันจะรีสตาร์ทกล่องเพื่อให้ปลอดภัย นี่ไม่ใช่พฤติกรรมปกติ ฉันเดาว่าออกจากระบบ (logoff.exe) และเปิดอีกครั้งไม่ได้หรือไม่
ปีเตอร์ Hahndorf

userinitคือเวทมนตร์ที่ฉันต้องการ ที่ได้ผล ขอบคุณ (ส่งเป็นคำตอบและฉันจะยอมรับ) ฉันไม่ลองออกจากระบบ แต่ฉันคิดว่ามันจะไม่ทำงานในฐานะผู้ใช้สวิตช์ตามด้วยการเข้าสู่ระบบในฐานะผู้ดูแลระบบการออกจากระบบจากผู้ดูแลระบบไม่ได้แก้ไข
mpag

Userinit บันทึกวันอีกครั้ง :)
mpag

คำตอบ:


2

คุณสามารถลองใช้งานC:\Windows\system32\userinit.exeซึ่งเป็นองค์ประกอบที่ทำงานครั้งแรกเมื่อผู้ใช้เข้าสู่ระบบ (มันเริ่ม Explorer.exe เป็นเปลือกของ Windows)

ไม่แน่ใจว่าเกิดอะไรขึ้นกับระบบของคุณ แต่userinit.exeอยู่ในระดับต่ำกว่า Explorer.exe หนึ่งระดับจึงอาจช่วยได้

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