PDA

View Full Version : اجرای برنامه به هنگام شروع کار رایانه!



مهدی رحیم زاده
دوشنبه 21 اردیبهشت 1388, 07:57 صبح
سلام من باید کاری کنم که برنامم به محض کار کاربر با رایانه اجرا بشه و کاربر نتونه مانع اون بشه. باید چکار کنم؟
اگه از Startup استفاده کنم که کاربر می تونه فایل منو پاک کنه ، بهترین راه چیه ؟
با تشکر

مهدی رحیم زاده
دوشنبه 21 اردیبهشت 1388, 14:06 عصر
سلام دوستان
کسی نظری تداره؟

hamid_200611
دوشنبه 21 اردیبهشت 1388, 15:04 عصر
هم می تونی از رجیستری استفاده کنی و هم از windows service
برای رجیستری در کلید زیر یه String Value با آدرس فاید ایجاد کن:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curr entVersion\Run
برای Windows service هم اگه سرچ کنی می تونی پیدا کنی.حتی می تونی از دو تا ویندوز سرویس استفاده کنی که یکی هر چند دقیقه چک کنه که ویندوز سرویس اولیه در حال اجراست اگر نبود اونو اجرا کنه.

tdkhakpur
دوشنبه 21 اردیبهشت 1388, 15:36 عصر
سلام:
دوست گرامی دستکاری ویندوز یه کمی به کارهای اون مربوط میشه که باید بدونی.
بعضی فایلهای اجرائی هستند که ویندوز مجبوره اونها رو به هنگام ورود اجرا کنه یکی از اونها userinit.exeهست که در شاخه سیستم ویندوز قرار داره.
شما میتونید اسم فایل اجرائی خودت رو userinit.exeقرار داده و بجاش بذاری و windows رو گول بزنی تا برنامه شما رو اجرا کنه .
ولی اگه مخالف جلوگیری از اجرا شدن فایلهای ویندوز هستید اسم userinit.exe ویندوز رو تغییر بده و در برنامه خودت اجراش کن تا ویندوز بطور عادی کارش رو ادامه بده و برنامه شما هم بعد جرای userinit.exeقبلی به کار خودش ادامه بده.
موفق باشید.

kiarash_h18
چهارشنبه 23 اردیبهشت 1388, 10:34 صبح
سلام:
دوست گرامی دستکاری ویندوز یه کمی به کارهای اون مربوط میشه که باید بدونی.
بعضی فایلهای اجرائی هستند که ویندوز مجبوره اونها رو به هنگام ورود اجرا کنه یکی از اونها userinit.exeهست که در شاخه سیستم ویندوز قرار داره.
شما میتونید اسم فایل اجرائی خودت رو userinit.exeقرار داده و بجاش بذاری و windows رو گول بزنی تا برنامه شما رو اجرا کنه .
ولی اگه مخالف جلوگیری از اجرا شدن فایلهای ویندوز هستید اسم userinit.exe ویندوز رو تغییر بده و در برنامه خودت اجراش کن تا ویندوز بطور عادی کارش رو ادامه بده و برنامه شما هم بعد جرای userinit.exeقبلی به کار خودش ادامه بده.
موفق باشید.


واقعا چرا بايد يك فايل سيستمي را دستكاري كنه؟؟؟؟؟؟
همونطور كه دوست عزيز "آقا حميد" گفتن، بايد در رجيستري در كليد :
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curr entVersion\Run
يك String Value ايجاد كني و در Value Data آدرس فايل مورد نظر را بدي.

از طريق Syntax هم بخواي اين عمل را انجام بدي، به اين صورت ميشه :


using Microsoft.Win32;


private void AddStartUpKey()
{
string name = "File_Name";
string path = @"File_Path";
string _path = @"Software\Microsoft\Windows\CurrentVersion\Run";
RegistryKey Key = Registry.LocalMachine.OpenSubKey(_path, true);
Key.SetValue(name, path);
}

Unknownlive
چهارشنبه 23 اردیبهشت 1388, 10:49 صبح
اگه خیلی خیلی حرفه ای می خواهی که من فقط روشش را بلدم اینه که توسط IO ها برنامه را در اول سکتور سیستم عامل ک÷ی کنید

amirepsilon
سه شنبه 09 تیر 1388, 08:15 صبح
به نظر من ین روش خوبی نیست
مگر این که برنامه شما ویروس باشه !!!

amirepsilon
سه شنبه 09 تیر 1388, 08:19 صبح
سلام
دوست من
من میخوام برای برنامه خودم installer تعریف کنم
و نمیدونم کاربر برنامه رو کجا نصب میکنه
بنابر این تکلیف این دو چی میشه ؟

string name = "File_Name";
string path = @"File_Path";

amirepsilon
سه شنبه 09 تیر 1388, 14:07 عصر
دوستان کسی نمیدونه ؟

مهدی رحیم زاده
سه شنبه 09 تیر 1388, 15:01 عصر
میشه درست بگی چی می خوای ? Setup میخوای درست کنی؟
در غیر این صورت هم راه برای رسیدن به مسیر فایل EXE هست

Application.StartupPath
این یک راهش
موفق باشید

Reza_Yarahmadi
سه شنبه 09 تیر 1388, 18:12 عصر
من همون کد رو یه مقدار تغییر دادم فکر کنم کارتو راه بندازه


RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true);
key.SetValue("نام برنامه", Application.ExecutablePath);

amirepsilon
چهارشنبه 10 تیر 1388, 15:42 عصر
سلام
ممنون دوستان
ولی لطفا بگید حالا چطور برعکس این کار رو انجام بدیم ؟
یعنی اگر نرم افزار توی استارتآپ بود اونو حذف کنه ؟

amirepsilon
چهارشنبه 10 تیر 1388, 15:43 عصر
در ضمن دوست من "نام برنامه" چی هست ؟
programname
یا
programname.exe
??????

amirepsilon
چهارشنبه 10 تیر 1388, 15:44 عصر
در ضمن دوست من "نام برنامه" چی هست ؟
programname
یا
programname.exe
??????

Mohsen229266
چهارشنبه 10 تیر 1388, 21:13 عصر
سلام دوست من نام برنامه رو هر چی دوست داری میتونی بزاری ولی موقع حذف بایداز همون نام استفاده کنی این هم کد حذفش


privatevoid Remove(string name)
{
RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", true);
key.DeleteValue(name, false);
}

Ares.javid
پنج شنبه 19 شهریور 1388, 11:59 صبح
اگه خیلی خیلی حرفه ای می خواهی که من فقط روشش را بلدم اینه که توسط IO ها برنامه را در اول سکتور سیستم عامل ک÷ی کنید
میشه لطفا این روش رو توضیح بدین.
من نیاز دارم که کاربر نتونه مانع از اجرای برنامه بشه.:متفکر:
ممنون