Televizyonu kapattığımda bilgisayarımın otomatik olarak uyumasını istiyorum. Bu nasıl yapılabilir? TV açık olduğunda mümkünse htpc'nin de açılmasını istiyorum
Bilgisayar- Windows 8.1 Gigabyte B85 GTX 650
Televizyonu kapattığımda bilgisayarımın otomatik olarak uyumasını istiyorum. Bu nasıl yapılabilir? TV açık olduğunda mümkünse htpc'nin de açılmasını istiyorum
Bilgisayar- Windows 8.1 Gigabyte B85 GTX 650
Yanıtlar:
Bu aslında bazı kodlama veya kodlama ile mümkün olmalıdır.
Var WMI Win32_DesktopMonitor sınıfı "Kullanılabilirlik" adlı bir özelliğe sahip.
Uygunluk özelliği, monitörün içinde olabileceği 17 olası durumu listeler. Büyük olasılıkla 0x03 (Çalışıyor veya Tam Güç) değerini kontrol etmek isteyeceksiniz. Ancak, en iyisinin hangisi olduğunu görmek için TV’nizin getirdiği değerlerle oynamanız gerekir.
Seçtiğiniz bir frekansta çalıştırmak, TV'nin durumunu tespit etmek ve TV'nin kapalı olduğunu tespit etmesi durumunda OS'ye bir uyku komutu göndermek için bir komut dosyası veya program yazılabilir.
Keltari'nin yorumuna bakıldığında, aşağıdaki VBScript döngüler ve her saniye ekranın açık olup olmadığını bildirir.
Do
WScript.Sleep 1000
WScript.Echo "Screen is on = " & ScreenOn
Loop
Function ScreenOn()
Dim objWMIService, colItems, objItem
On Error Resume Next
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_DesktopMonitor",,48)
ScreenOn = False
For Each objItem in colItems
If objItem.Availability = 3 Then
ScreenOn = True
Exit For
End If
Next
On Error Goto 0
End Function
Saklamalısınız (örn. screenstatus.vbs
) ve komut satırından kullanarak komut satırından çalıştırın. cscript screenstatus.vbs
).
Her şey yolunda giderse, her saniye "Doğru" görüntülenir ve ekranı kapattığınızda "Yanlış" ayarına döner. Bunu tekrar kontrol etmek için ekranı açmanız gerekecek!
Bunun iyi gittiğini varsayarak, üstteki döngüyü aşağıdaki gibi bir şeye göre değiştirebilirsiniz:
If ScreenOn() = False Then
' Call command here to sleep computer
End If
ve ardından betiği düzenli olarak çalışacak şekilde programlayın (ör. 15 dakikada bir).
Makineniz hemen uykuya geçmeyecek, ancak komut dosyası yeniden çalıştırıldığında kapanacaktır (bu, verdiğim örnekte 15 dakika içinde olacak).