PDA

View Full Version : اجرای برنامه هنگام بالا آمدن سیستم



aliblue
جمعه 19 فروردین 1390, 16:37 عصر
برای این که بعد از روشن شدن کامپیوتر یک برنامه که خودم نوشتم اجرا شود چکار باید کرد؟
در ویندوز 7

unknown.unforgiven
جمعه 19 فروردین 1390, 19:58 عصر
باید به startup سیستم اضافش بکنی. میتونی از کد زیر واسه این کار استفاده بکنی یا به صورت دستی همین کار رو انجام بدی
try
{
RegistryKey rkey = Registry.LocalMachine.CreateSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run\ \");
rkey.SetValue(Application.ProductName, Application.ExecutablePath);
rkey.Close();
}
catch
{
}

barnamenevisjma
جمعه 19 فروردین 1390, 20:20 عصر
با سلام
اول باید یه کلید در رجیستری بسازیم:
RegistryKey Startup = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run");

بعد باید مقدارش رو تنظیم کنیم:
key.SetValue("my_app_name", "my-app_path");

my_app_name اسم برنامتونه و my_app_path هم مسیر فایل اجرایی شماست که میخواین اجرا شه.
به همین راحتی!!:چشمک:
موفق باشید.

aliblue
شنبه 20 فروردین 1390, 08:15 صبح
با سلام
اول باید یه کلید در رجیستری بسازیم:
RegistryKey Startup = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run");

بعد باید مقدارش رو تنظیم کنیم:
key.SetValue("my_app_name", "my-app_path");

my_app_name اسم برنامتونه و my_app_path هم مسیر فایل اجرایی شماست که میخواین اجرا شه.
به همین راحتی!!:چشمک:
موفق باشید.
ممنون.میشه یه مقدار توضیح بدی این کدها رو کجا وارد کنم؟
اگه تو سی شارپه تو چه سرفایلی تعریف شده؟

barnamenevisjma
شنبه 20 فروردین 1390, 12:33 عصر
اول از همه باید کتابخونه مورد نیاز برای کار با رجیستری رو به برنامه اضافه کنیم:

using Microsoft.Win32

بعد میایم و برای رویداد CheckedChanged از checkBox مون، این کد رو می نویسیم:


switch (this.CHBStartWithWindows.Checked)
{
case (true):
RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", true);
key.SetValue("my_app_name","my_app_path");
break;
case (false):
RegistryKey key2 = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", true);
key2.DeleteValue("my_app_name", false);
break;
}


و در نهایت، در سازنده فرم (یا در رویداد Load از فرم) کد زیر رو مینویسیم:


RegistryKey Startup = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run");

foreach (string Items in Startup.GetValueNames())
{
if (Items == "my_app_name")
{
this.CHBStartWithWindows.Checked = true;
}
}



موفق باشید.

r00tkit
شنبه 20 فروردین 1390, 12:56 عصر
این جواب ها ربطی به سوال نداشت
بعد از روشن شدن کامپیوتر

barnamenevisjma
شنبه 20 فروردین 1390, 19:05 عصر
این جواب ها ربطی به سوال نداشت

(من فقط به کاربر حق انتخاب دادم!!!:متعجب::متعجب::متعجب:)
اگه میخواین برنامتون بدون دخالت کاربر و حتما، بعد از بالا اومدن ویندوز اجرا شه، کافیه کدش رو در -مثلا- رویداد Load بذارین:


RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\Micros oft\Windows\CurrentVersion\Run", true);
key.SetValue("my_app_name","my_app_path");