Làm cách nào để nhanh chóng kích hoạt và vô hiệu hóa Aero trong Windows 7?


8

Tôi chia sẻ màn hình của tôi với các đồng nghiệp rất nhiều. Trong quá trình chia sẻ, bạn nên tắt Aero vì nó tạo ra nhiều đồ họa hơn để gửi qua dây và gây ra sự chậm trễ trong việc chia sẻ màn hình. Một số ứng dụng chia sẻ màn hình thực sự làm điều này cho bạn, và một số thì không.

Tôi đang tìm kiếm một cách nhanh chóng và thuận tiện để bật / tắt Aero trên Windows 7. Cuối cùng, nếu tôi có thể buộc nó vào một phím nóng, thì đó là điều tốt nhất, nhưng bất kỳ tiện ích / biểu tượng khay hoặc phím tắt máy tính để bàn nào cũng được.


Phần mềm nào bạn đang sử dụng không làm điều này CHO BẠN khi bạn bật chia sẻ màn hình? : / Tôi không thể nghĩ ra bất kỳ cái chính nào không hỗ trợ nó bây giờ.
Shinrai

Câu trả lời:


10

Tạo một tệp bó với nội dung sau:

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

:sc_start
sc start uxsms
exit

Thực hiện nó sẽ thay thế bật và tắt Aero. Bạn có thể đặt nó bất cứ nơi nào bạn thích. AFAIK không cần phải được thực thi với tư cách Quản trị viên.


1
Điều này dường như yêu cầu chế độ quản trị viên trên windows 7. Bất kể, điều này là tuyệt vời.
Frank V

3

Bạn co thể thử:

c:\> sc stop uxsms

c:\> sc start uxsms

0

Dừng lại, dịch vụ này là quá nhiều. Tôi thực sự khuyên chúng ta nên sử dụng API gốc của Windows.

Một ví dụ về mã trong 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"
    }
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.