[C#] Hướng dẫn cách khởi động ứng dụng cùng Windows
Xin chào các bạn, bài viết hôm nay mình sẽ tiếp tục hướng dẫn các bạn cách viết ứng dụng C# của mình khởi động cùng Windows . Chắc có nhiều bạn cũng hỏi mình là làm sao khi viết app xong thì khi khởi động ứng dụng windows của mình thì phần mềm của mình vừa ...
Xin chào các bạn, bài viết hôm nay mình sẽ tiếp tục hướng dẫn các bạn cách viết ứng dụng C# của mình khởi động cùng Windows.
Chắc có nhiều bạn cũng hỏi mình là làm sao khi viết app xong thì khi khởi động ứng dụng windows của mình thì phần mềm của mình vừa viết xong cũng tự khởi động theo.
Nếu các bạn viết ứng dụng để lấy dữ liệu chấm công real time và công việc bạn muốn là mặc định khi khởi động, phần mềm của mình sẽ được tự động kích hoạt và chạy luôn.
Để ứng dụng của mình có thể khởi động cần Windows, cách bạn cần thực hiện như sau:
Là phải tạo một khóa Regedit, trỏ thẳng đường dẫn đến ứng dụng của mình.
Và công việc bây giờ, mình sẽ viết hàm khi bấm vào nút tự động chương trình, thì sẽ ghi đường dẫn ứng dụng của mình vào Regedit.
Để ứng dụng của mình có thể ghi được vào Registry, các bạn cần chạy ứng dụng dưới quyền Run As Administrator.
Trong C#, các bạn tạo một file app.manifest để cấu hình phần mềm mình chạy chế độ run admin, các bạn có thể download source code của mình ở cuối bài viết để tham khảo.
Đây là giao diện demo ứng dụng Starup Windows C#:
Khi bấm vào nút Bật sẽ kích hoạt, và bấm vào nút Tắt sẽ tắt kích hoạt ứng dụng chạy cùng windows.
Để thực hiện, các bạn tạo cho mình hàm SetStartUp()
Source code C#:
private void SetStartup(string AppName, bool enable) { string runKey = @"SOFTWAREMicrosoftWindowsCurrentVersionRun"; Microsoft.Win32.RegistryKey startupKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(runKey); if (enable) { if (startupKey.GetValue(AppName) == null) { startupKey.Close(); startupKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(runKey, true); //startupKey.SetValue(AppName, Assembly.GetExecutingAssembly().Location + " /StartMinimized"); startupKey.SetValue(AppName, Application.StartupPath + " /StartMinimized"); startupKey.Close(); } } else { startupKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(runKey, true); startupKey.DeleteValue(AppName, false); startupKey.Close(); } }
1.Source code C# sự kiện cho nút bật:
private void simpleButton2_Click(object sender, EventArgs e) { string path_my_app = Application.StartupPath + "\SMS Alarm.exe"; if (File.Exists(path_my_app)) { SetStartup(path_my_app, true); XtraMessageBox.Show("Đã bật ứng dụng SMS Alarm khởi động cùng Windows!", "Thông báo!", MessageBoxButtons.OK, MessageBoxIcon.Information); Application.Exit(); } }
2.Source code C# sự kiện cho nút tắt:
private void simpleButton1_Click(object sender, EventArgs e) { string path_my_app = Application.StartupPath + "\SMS Alarm.exe"; if (File.Exists(path_my_app)) { SetStartup(path_my_app, false); XtraMessageBox.Show("Đã tắt ứng dụng SMS Alarm khởi động cùng Windows!", "Thông báo!", MessageBoxButtons.OK, MessageBoxIcon.Information); Application.Exit(); } }
CHÚC CÁC BẠN THÀNH CÔNG!
DOWNLOAD SOURCE