Haber

3 Yıllık Windows Sorunu, Yalnızca 1 Byte’lık Bir Dosyayla Çözüldü

3 Yıllık Windows Sorunu, Yalnızca 1 Byte'lık Bir Dosyayla Çözüldü

Bir Windows kullanıcısıysanız ve bilgisayarınıza herhangi bir kontrolcü bağladığınızda bilgisayarınızı uyku moduna alamıyorsanız meraklanmayın; bu sorun sahiden 3 yıldan beri kullanıcılar göre aktarılıyor. Oysa bugüne kadar sorunun kaynağı tam olarak bilinmediğinden çözülebilmiş de değildi.

Kanada’da yaşayan Dimitry Safonov isimli bir yazılım geliştiricisiyse bu sorunun üstesinden gelmeyi başardı. Dimitry, bu sorunla Microsoft Flight Simulator oynadığı gün karşılaştı. Logitech uçuş kontrolcüsünü bilgisayara bağlayan Dmitry, oyundan çıktıktan sonra bilgisayarının uyku moduna geçmediğini gördü.

Hatayı çözmesi 2 gün sürdü:

joystick uyku modu

Dmitry’nin bilgisayarıysa birkaç dakikanın gerisinde otomatik olarak uyku moduna vermek üzere programlanmıştı. Bu garip sorunla karşılaşan Dmitry, sorunu çözmek için çalışmalarına başladı. Sorunun daha önce pek çok kullanıcı tarafından da paylaşıldığını gören Dmitry, iki gün süren test ve yanılma süreçleri en sonunda üç yıldır çözülmeyen sorunu çözmeyi başardı.

İnternette böylece çok kullanıcı sorunun bir şekilde NVIDIA’nın ShadowPlay’ine bağlıyordu. Bilgisayara eğer bir kontrolcü bağlıysa ve ShadowPlay aktifse bilgisayar uyku moduna geçmiyordu. ShadowPlay devre dışı bırakıldığında sorun ortadan kalkıyordu. Dmitry, bu sorunu NVIDIA’ya bildirse de kendisi de sorunla mücâdele etmek istedi.

En sonunda Dmitry, sorunun RAW Input göre kaynaklandığını keşfetti. NVIDIA’nın uygulaması, RegisterRawInputDevices fonksiyonuyla hangi uygulamanın ön planda olduğu fark etmeksizin klavyeden gelen RAW olayları alıyordu. Dmitry, sorunun kaynağını bulmuştu oysa onaylamak için aynı sorunu DirectInput’ta da yaratmıştı. DirectInput’ta yaratılan sorun da bilgisayarın uyku moduna girmesini engelliyordu.

1 byte’lık dosyayla hata çözüldü:

windows uyku modu

Oysa bahsettiğimiz üzere NVIDIA, sadece klavyeden RAW Input alıyordu. Fakat dilekçe, dolambaçlı olarak Chromium’dan RAW oyun kolu Input’u istiyordu. İşte bunu keşfeden Dmitry, GeForce Experience’ın ‘libcef.dll’ dosyasında tek bir ifadeyi değiştirerek sorunu ortadan kaldırmayı başardı. 3 takvim sorun, aşağıdan ulaşabileceğiniz yalnızca 1 byte’lık dosyayla çözülebilir oldu.

Dmitry’nin paylaştığı çözüm dosyası için tıklayınız.

Dmitry ile aynı sorunu yaşayan biriyseniz ve yukarıdaki çözüme başvuruyorsanız öncesinde bir şeyden muhakkak olmanız gerekiyor. Yukarıdaki PowerShell dosyasını açmadan önce ShadowPlay’in kapalı olduğundan muhakkak olun. sonra dosyayı yönetici olarak çalıştırın.

Comments
To Top