Cơ chế để các ứng dụng được windows gọi start tự động khi mở máy đó là nó sẽ tìm các ứng dụng có đăng ký Startup trong thư mục Run của Registry và khởi động lần lượt các ứng dụng. Vậy để thực hiện việc đăng ký này chúng ta làm như sau.
private void RegisterInStartup(bool isChecked)
{
RegistryKey registryKey = Registry.CurrentUser.OpenSubKey
("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
if (isChecked)
{
// Đăng ký stratup cùng Windows
registryKey.SetValue("HoverNote", Directory.GetCurrentDirectory() + "\\HoverNote.exe");
}
else
{
// Hủy đăng ký
registryKey.DeleteValue("HoverNote");
}
}
Chú ý: Hàm SetValue(string1, string2) nhận hai giá trị
string1: Tên khóa cho một registry, tên này bạn đặt tùy ý và nó sẽ là khóa cho các lần làm việc sau
string2: là đường dẫn bạn muốn Windows gọi để start một cái gì đó (ở đây là file *.exe)
Sau khi đăng ký chúng ta sẽ đọc xem việc đăng ký này có thành công hay không bằng đoạn code sau
private bool CheckStartup()
{
bool result;
RegistryKey registryKey = Registry.CurrentUser.OpenSubKey
("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
// Nếu key này tồn tại thì việc đăng ký là thành công
var rg = registryKey.GetValue("HoverNote");
if (rg != null)
{
result = true;
}
return result;
}