PDA

View Full Version : سوال: گذاشتن برنامه در Startup ...



alnajon
پنج شنبه 16 خرداد 1392, 20:23 عصر
با سلام خدمت شما عزیزان ...
ببخشید چطور میتونم کاری کنم که با زدن یک دکمه در برنامه ، برنامه رو توی استارت آپ قرار بدم یعنی هنگام بالا آمدن ویندوز برنامه خود به خود اجرا بشه !؟
البته چند تا کد تو همین جا دیدم ولی برای من کار نکرد !
راستی میخواهم توی ویندوز 7 هم قابل اجرا باشه ...

خیلی ممنون از شما

fool66
پنج شنبه 16 خرداد 1392, 20:28 عصر
private void AddStartUpKey(string _name, string _path)
{
RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\Micros oft\Windows\CurrentVersion\Run",true);
key.SetValue(_name, _path);
}

alnajon
پنج شنبه 16 خرداد 1392, 20:31 عصر
key.SetValue(_name, _path);


?
ببخشید شاید من زیاد مبتدیم ، این چیه ؟ نیاز به ویرایش داره ؟

danialafshari
پنج شنبه 16 خرداد 1392, 22:56 عصر
سلام
ابتدا این کد رو به using اضافه کنید
using Microsoft.Win32;

اینم که تابع هست:
private void AddStartUpKey(string _name, string _path)
{
RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\Micros oft\Windows\CurrentVersion\Run", true);
key.SetValue(_name, _path);
}

اینم کد دکمه:
private void button1_Click(object sender, EventArgs e)
{
AddStartUpKey("myProg", @"c:\myProg.exe");
}

sepide_68_91
جمعه 17 خرداد 1392, 08:59 صبح
ببخشید چطور از استارت اپ خارجش کنیم؟
ممنون

danialafshari
جمعه 17 خرداد 1392, 12:55 عصر
ببخشید چطور از استارت اپ خارجش کنیم؟
ممنون

سلام
قرار دادن کد صرفا به دلیل کپی کردن در برنامه نیست بلکه تحلیل کده
توصیه می کنم که فقط کد رو کپی نکنید در برنامه و سعی کنید المان های کد رو یاد بگیرید
مثلا این کد از رجیستری استفاده می کنه. پس درباره ی رجیستری در C# تحقیق کنید، اینطور همه ی کارهایی که در رجیستری انجام میشه رو می تونید به راحتی خودتون انجام بدید
همین طور که OpenSubKey هست یک Delete ی هم هست
تحقیق کنید
موفق باشید

alnajon
جمعه 17 خرداد 1392, 22:17 عصر
ببخشید با این روش با پاک کردن برنامه هم باز برنامه اجرا میشه ؟! اگر نه چطور میشه برنامه رو توی یه پوشه تو درایو c کپی کرد بعد اون رو توی استارت اپ قرار داد ؟! میخواهم با پاک کردن برنامه اصلی برنامه توی استارت اپ بمونه !

danialafshari
شنبه 18 خرداد 1392, 01:35 صبح
ببخشید با این روش با پاک کردن برنامه هم باز برنامه اجرا میشه ؟! اگر نه چطور میشه برنامه رو توی یه پوشه تو درایو c کپی کرد بعد اون رو توی استارت اپ قرار داد ؟! میخواهم با پاک کردن برنامه اصلی برنامه توی استارت اپ بمونه !

خب این که کاری نداره
شما همون ابتدا بعد از اولین اچرای برنامه اونو در یه محل دیگه کپی کن یا اینکه در ستاپ بزار دو جا نصب بشه بعد در مسیر به جای c:\myProg.exe از مسیر برنامه ی دومی که کپی شده استفاده کن و اونو بزار تو استارت آپ

ghamgin
شنبه 18 خرداد 1392, 16:37 عصر
سلام
قرار دادن کد صرفا به دلیل کپی کردن در برنامه نیست بلکه تحلیل کده
توصیه می کنم که فقط کد رو کپی نکنید در برنامه و سعی کنید المان های کد رو یاد بگیرید
مثلا این کد از رجیستری استفاده می کنه. پس درباره ی رجیستری در C#‎ تحقیق کنید، اینطور همه ی کارهایی که در رجیستری انجام میشه رو می تونید به راحتی خودتون انجام بدید
همین طور که OpenSubKey هست یک Delete ی هم هست
تحقیق کنید
موفق باشید

کاش کد خارج کردن برنامه از startup رو بذارید من خیلی جست و جو کردم اما چیزی پیدا نکردم

drsina
شنبه 25 خرداد 1392, 22:20 عصر
سلام
من این کد رو تو کنسول می زنم !!!
بی اررور ران میشه ولی ارور در صفحه ی داس مانند برای دیباگ میده !
مشکلش چیه ؟ میخوام نرم افزار poedit رو هنگام استارت آپ بالا بیارم.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Win32;

class Program
{

public static void AddStartUpKey(string _name, string _path)
{
RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run",true);
key.SetValue(_name, _path);
}
public static void Main()
{
AddStartUpKey("poedit.exe", @"C:\Program Files (x86)\Poedit\bin\poedit.exe");

}

}

golestan1
چهارشنبه 20 فروردین 1393, 18:10 عصر
یوزینگ اضافه شد


private void AddStartUpKey(string _name, string _path)
{
RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\Micros oft\Windows\CurrentVersion\Run", true);
key.SetValue(_name, _path);
}

us1234
چهارشنبه 20 فروردین 1393, 18:53 عصر
در یک رویداد مثل فرم لود اینجوری استفاده کنید :

AddStartUpKey("YourProgname", "YourExePath");


که آدرس اجرا شدن فایل Exe هم اینجور بدست می آید

Application.ExecutablePath


در نهایت :
AddStartUpKey("YourProgname", Application.ExecutablePath.ToString());

golestan1
چهارشنبه 20 فروردین 1393, 20:39 عصر
کدی که گذاشتم رو از این سایت پیدا کردم
و وقتی جواب قبلی رو تست کردم از این خطا می گیره از پارامتر key.SetValue(_name, _path);

us1234
چهارشنبه 20 فروردین 1393, 22:02 عصر
روی فایل exe پروژه راست کلیک کنید و با run as administrator اجرش کنید . در ویندوز های جدید ویندوز دیفندر اجازه به یوزر عادی برای دستکاری ریجستری را نمیده .
روش ساده :
یک شورت کات از برنامه در فولدر استارپ آپ ویندوز قرار دهید.

golestan1
پنج شنبه 21 فروردین 1393, 00:39 صبح
ببین اصلا من درست نوشتم
117808
public Form1()
{
InitializeComponent();
}
private void AddStartUpKey(string _name, string _path)
{
RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\Micros oft\Windows\CurrentVersion\Run", true);
key.SetValue(_name, _path);
}
private void button1_Click(object sender, EventArgs e)
{




}

private void Form1_Load(object sender, EventArgs e)
{

AddStartUpKey("test", Application.ExecutablePath.ToString());

}

us1234
پنج شنبه 21 فروردین 1393, 13:23 عصر
آدرس کی اینه :

@"Software\Microsoft\Windows\CurrentVersion\Run
چرا بین ماکروسافت اسپس زدی ؟