วิธีเปิดใช้งานและปิดใช้งาน Aero ใน Windows 7 อย่างรวดเร็ว


8

ฉันแชร์หน้าจอกับเพื่อนร่วมงานเป็นจำนวนมาก ในระหว่างการแบ่งปันขอแนะนำให้ปิด Aero เนื่องจากสร้างกราฟิกจำนวนมากเพื่อส่งผ่านสายและทำให้เกิดความล่าช้าในการแบ่งปันหน้าจอ แอปพลิเคชั่นการแชร์หน้าจอบางตัวทำสิ่งนี้ให้คุณจริงและบางแอปพลิเคชันไม่ได้

ฉันกำลังมองหาวิธีที่รวดเร็วและสะดวกในการเปิด / ปิด Aero บน Windows 7 ในที่สุดถ้าฉันสามารถผูกมันกับฮอตคีย์มันจะดีที่สุด แต่เครื่องมือ / ถาดไอคอนหรือทางลัดบนเดสก์ท็อปจะทำ


คุณใช้ซอฟต์แวร์ใดที่ไม่ได้ทำเพื่อคุณเมื่อคุณเปิดการแชร์หน้าจอ : / ฉันไม่สามารถนึกถึงกระแสหลักใด ๆ ที่ไม่สนับสนุนในตอนนี้
Shinrai

คำตอบ:


10

สร้างแบตช์ไฟล์ที่มีเนื้อหาดังต่อไปนี้:

@echo off
sc interrogate uxsms | find "1062"
if %errorlevel%==0 goto :sc_start
sc stop uxsms
exit

:sc_start
sc start uxsms
exit

การใช้งานจะเป็นการเปิดและปิด Aero คุณสามารถวางไว้ที่ใดก็ได้ที่คุณต้องการ AFAIK ไม่จำเป็นต้องดำเนินการในฐานะผู้ดูแลระบบ


1
ดูเหมือนว่าจะต้องใช้โหมดผู้ดูแลระบบใน windows 7 ไม่ว่าจะดีมาก
Frank V


0

หยุดบริการนี้มากเกินไป ฉันขอแนะนำอย่างยิ่งให้เราใช้ API ของ Windows เนทิฟ

ตัวอย่างของรหัสใน PowerShell:

# Definition des fonctions natives Windows permettant le test d'activation d'Aero et l'activation ou non d'Aero
$def = @"

    [DllImport("dwmapi.dll", PreserveSig = false)]
    public static extern bool DwmIsCompositionEnabled();

    [DllImport("dwmapi.dll", PreserveSig=false)]
    public static extern int DwmEnableComposition(bool fEnable);

"@
# Chargement de la fonction native dans un namespace personnel
Add-Type -Namespace MaifCode -Name Aero -MemberDefinition $def


# Fonction qui check si Aero est desactive ou non
function Check-Is-Aero{
    [CmdletBinding()]
    param()
    Write-Verbose "[$([DateTime]::Now)] ==> Test de la presence du mode Aero pour la session utilisateur $env:USERNAME"
    if([MaifCode.Aero]::DwmIsCompositionEnabled()){
        Write-Verbose "[$([DateTime]::Now)] ==> Aero actif pour la session utilisateur $env:USERNAME"
        return $true
    }
    else{
        Write-Verbose "[$([DateTime]::Now)] ==> Aero inactif pour la session utilisateur $env:USERNAME"
        return $false
    }
}

# Fonction qui test si Aero est actif et le desactive dans ce cas
function Disable-Aero{
    [CmdletBinding()]
    param()
    # Test si aero actif
    If(Check-Is-Aero) {
        Write-Verbose "[$([DateTime]::Now)] ==> Tentative de desactivation du mode Aero pour la session utilisateur $env:USERNAME"
        # Desactivation du mode aero
        try{
            $resultat = [MaifCode.Aero]::DwmEnableComposition($false)
        }
        catch [exception]
        {
            # Si erreur alors on sort et on affiche le message d'erreur
            Write-Error "Erreur dans l'execution de la desactivation du mode Aero : $error"
            exit -1
        }
        Write-Verbose "[$([DateTime]::Now)] ==> Desactivation du mode Aero pour la session utilisateur $env:USERNAME terminee"
    }
    else{
        Write-Verbose "[$([DateTime]::Now)] ==> sortie du script sans action"
    }
}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.