posted by onlinemedia.vn

Khi viết ra một chương trình, có thể chúng ta không muốn để Screen Saver chạy khi chương trình của chúng ta đang hoạt động. Vậy làm cách nào để tắt chúng đi mà không dùng bằng phương pháp thủ công. Rất đơn giản, Thật ra có nhiều phương pháp để Disable Screen Saver nhưng ở đây kakalot xin trình bày một cách khá đơn giản. Đó là truy xuất vào Registry để sửa. Sở dĩ Screen saver chạy được là do Window đăng ký vào Registry ở: “HKEY_CURREN_USER\Control Panel\Desktop” có một subkey là “SCRNSAVE.EXE” và có giá trị: “C:\WINDOWS\system32\sspipes.scr” nếu Screen saver của Window ở chế độ Enable. Như vậy để tắt Screen Saver ta có làm những cách sau: cho giá trị của SCRNSAVE.EXE = “”. hoặc xóa bỏ luôn subkey SCRNSAVE.EXE. Còn nếu muốn Enable lại thì ta có thể tạo lại Subkey SCRNSAVE.EXE và gán lại giá trị cho nó là: “C:\WINDOWS\system32\sspipes.scr”. Dưới đây là đoạn code minh họa:

//Đăng ký truy xuất và mở một RegistryKey
RegistryKey rkScreenSaver = Registry.CurrentUser.OpenSubKey(@"Control PanelDesktop", true);
//Dissable Screen Saver
rkScreenSaver.SetValue("SCRNSAVE.EXE", "");
rkScreenSaver.Close();

Để xem chi tiết code và những thảo luận bạn có thể ghé thăm trang forum ở dưới đây. Có thể nó sẽ giúp ích cho bạn.

http://codeprovn.com/forums/viewtopic.php?f=21&t=505