כתיבה לרגיסטרי מחייבת הוספת הפניה של סביבת NET. לערכים של כתיבה שכזו:
using Microsoft.Win32;
נשים לב לכך שיש להגדיר את שם התוכנית.
אפשרי לבחור בשם הקובץ שמורץ:
או בשם שבחרנו:
אפשרי לבחור בשם הקובץ שמורץ:
string appName = Environment.GetCommandLineArgs()[0];
appName = appName .Substring(appName .LastIndexOf("\\") + 1);
או בשם שבחרנו:
string appName = "Snir.App";
ניצור מפתח כתיבה לרגיסטרי:
RegistryKey runAPP_onStartup = Registry.LocalMachine.OpenSubKey ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
באתחול התוכנה' נוכל לבצע בדיקה האם היא כבר רשומה לעליה באתחול המחשב:
if (runAPP_onStartup.GetValue(appName) == null)
{
// The value doesn't exist, the application is not set to run at startup
chkRun.Checked = false;
}
else
{
// The value exists, the application is set to run at startup
chkRun.Checked = true;
}
{
// The value doesn't exist, the application is not set to run at startup
chkRun.Checked = false;
}
else
{
// The value exists, the application is set to run at startup
chkRun.Checked = true;
}
ובשביל לבצע שינוי בערכים אלו של הרגיסטרי, נשתמש בפקודות הבאות.
נניח שנעשה שימוש בכפתור לשם עדכון הערכים:
private void btnOk_Click(object sender, EventArgs e)
{
if (chkRun.Checked)
{
// Add the value in the registry so that the application runs at startup
runAPP_onStartup .SetValue(appName, Application.ExecutablePath.ToString());
}
else
{
// Remove the value from the registry so that the application doesn't start
runAPP_onStartup .DeleteValue(appName, false);
}
}
if (chkRun.Checked)
{
// Add the value in the registry so that the application runs at startup
runAPP_onStartup .SetValue(appName, Application.ExecutablePath.ToString());
}
else
{
// Remove the value from the registry so that the application doesn't start
runAPP_onStartup .DeleteValue(appName, false);
}
}
את הדברים האלו למדתי מהאתר של geekPedia
תוכלו להוריד את תוכנית הדוגמא מכאן
אין תגובות:
הוסף רשומת תגובה