יום שני, 11 באוקטובר 2010

הגדרת registery לריצה של תוכנית עם אתחול המערכת -#C


כתיבה לרגיסטרי מחייבת הוספת הפניה של סביבת 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;
}
 ובשביל לבצע שינוי בערכים אלו של הרגיסטרי, נשתמש בפקודות הבאות.
נניח שנעשה שימוש בכפתור לשם עדכון הערכים:
 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);
    }
}

את הדברים האלו למדתי מהאתר של geekPedia
תוכלו להוריד את תוכנית הדוגמא מכאן


אין תגובות:

הוסף רשומת תגובה