# برنامه نویسی با محصولات مایکروسافت > برنامه نویسی مبتنی بر Microsoft .Net Framework > VB.NET >  اجرای برنامه قبل از بالا آمدن ویندوز

## majidgh

برنامه من فقط وقتی به درد می خوره که قبل از Log on شدن ویندوز اجرا بشه .
نمی دونم چطور این کارو بکنم .  :افسرده:  
اگه یکی می تونه کمکم کنه .

----------


## mehrzad007

دقیقا کجا؟ قبل از اکسپلورر قبل از اصلا بوت شدن ویندوز ؟ همراه برنامه های استارت اپ و...؟ کجا؟

----------


## saeid5977

سلام
سرویسها بدون login هم اجرا میشند.

----------


## majidgh

می خوام طوری باشه که با log off شدن ویندوز اول یه فرم باز بشه Username و Password بخواد اگه درست بود بعد وارد ویندوز بشه . در غیر اینصورت وارد ویندوز نشه . طبیعیه که کابر نمی تونه فرم رو بدون وارد کردن Username و Password ببنده .

----------


## mehrzad007

احیانا می خوایی به برنامه محدود سازی کامپیوتر بنویسی؟ مثل مدیریت کافی نت ها یا پرنت کنترل؟

----------


## majidgh

دقیقاً می خوام برنامه مدیریت کافی نت بنویسم . البته قبلاً هم گفتم . واسه پروژه دانشگاهه .
اگه کمکم کنید ممنون می شم .

----------


## mehrzad007

معمولا در این مدل سیستم ها نیازی نیست جلوی لاگین کاربر رو بگیری . بزار کاربر لاگین کنه به سیستم بعد نرم افزار تو اجرا بشه . در هر صورت جلوی اونو به راحتی نمی تونی بگیری . فقط کافیه جلوی اجرا شدن اکسپلورر رو بگیری . همین ! بعد برنامه خودت رو اجرا کنی به جاش . معمولا این طور جاها نرم افزار های زیادی هم نباید اجرا بشه چند تا مسنجر و اسپلورر حالا اینترنت اکسپلورر یا فایر فاکس یا... اونا رو از طریق برنامه ات می تونی اجازه بدی که اجرا بشه و...
برای درک بهتر کار برنامه ها توصیه می کنم بری این برنامه ها رو ببینی :
1- Game Port 
easy cofee
,....
یه برنامه اپن سورس هم هست در این مورد که قبلا توی سورس فورگ دیدم با وی بی 6 بود هر چی گشتم روی هاردم نبود خود سورس فورگ رو یه سرچ بکن برنامه جالبی بود....
اگه مشکلی بود خبر بده

----------


## majidgh

از راهنماییت خیلی ممنون من می گردم سورس رو پیدا می کنم . اگه مشکلی داشتم حتماً مزاحمت می شم.

----------


## majidgh

من موفق نشدم فرم رو قبل از explorer لود کنم اما اگه بتونم این کارارو بکنم فکر کنم همون جوابو بگیرم . تو روخدا تو این یکی کمکم کنید :

1- فرم Focus رو از دست نده.
2- فرم خاصیت Always on top داشته باشه .
3- فرم با ضربدر یا Alt+F4 یا هر دکمه دیگه بسته نشه.
4- فرم Full Screen باشه.

بازم بابت همه کمکهاتون ممنون . من با کمک آرشیو این سایت تونستم تقریباً پروژمو کامل کنم.

----------


## DAMAVAND

> من موفق نشدم فرم رو قبل از explorer لود کنم .



/////////////////////////////////////////////////
سلام
من قبلا یه برنامه نوشته بودم که 
قبل از explorer.exe اجرا میشد.  :متفکر:  
یک فولدرhidden تویsystem32 هست بنام dllcache
برو توش و فایل userinit.exe پیدا کن .
اسمشو عوض کن. 
بعدش برو توsystem32 و فایل userinit.exe رو پیدا کن و تویه یه فولدر دیگه کپی کن!
حالا اسم برنامتو بزار userinit.exe 
و اون رو تو system32 بجای فایل اصلی کپی کن!
حالا اگه سیستم رو restart کنی,قبل از همه برنامها حتی explorer.exe  برنامت اجرا میشه!!!
اونوقت اگه کاربر مجاز به ورود بود برنامت فایل اصلی که  
قابلا یه جای دیگه کپیش کردی رو اجرا میکنه و ویندوز بالا میاد! 
تمام کارهای بالا رو میتونی به طور اتوماتیک تو برنامت قرار بدی 
نکته:
 تا زمانی که userinit.exe اجرا نشه ویندوز به هیچ عنوان بالا نمیاد!!!! :چشمک:

----------


## __H2__

> من موفق نشدم فرم رو قبل از explorer لود کنم اما اگه بتونم این کارارو بکنم فکر کنم همون جوابو بگیرم . تو روخدا تو این یکی کمکم کنید :
> 
> 1- فرم Focus رو از دست نده.
> 2- فرم خاصیت Always on top داشته باشه .
> 3- فرم با ضربدر یا Alt+F4 یا هر دکمه دیگه بسته نشه.
> 4- فرم Full Screen باشه.
> 
> بازم بابت همه کمکهاتون ممنون . من با کمک آرشیو این سایت تونستم تقریباً پروژمو کامل کنم.


سلام

2-4
Me.TopMost = True
Me.WindowState = FormWindowState.Maximized
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
Me.MaximizeBox = False
Me.MinimizeBox = False
Me.ControlBox = False
 
1   (شاید جواب دهد)
Private Sub Form_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.GotFocus
     Me.Focus()
End Sub
 
3
Private Sub frmImport_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
     e.Cancel = True
End Sub

----------


## majidgh

> /////////////////////////////////////////////////
> تمام کارهای بالا رو میتونی به طور اتوماتیک تو برنامت قرار بدی


 یعنی باید موقع install کردن فایل ها رو جابجا کنم ؟؟

----------


## saina2006

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

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
و مقدار  Userinit یا Shell را برابر مسیر برنامه قرار بدید

----------


## h_sadeghynejad

> برو توsystem32 و فایل userinit.exe رو پیدا کن و تویه یه فولدر دیگه کپی کن!


در واقع userinit.exe اصلی چه برنامه ای هستش که باید اجرا بشه که با این کار دیگه اجرا نمیشه

----------


## DAMAVAND

> در واقع userinit.exe اصلی چه برنامه ای هستش که باید اجرا بشه که با این کار دیگه اجرا نمیشه


//////////////////////////
userinit.exe
یکی از برنامهای اصلی ویندوزه که هنگامی که ویندوز به اصطلاح میخواد بالا بیاد جزو اولین
برنامهایی که اجرا میشه, قبل از explorer.exe

----------


## h_sadeghynejad

> یکی از برنامهای اصلی ویندوزه


مشکلی نداره که این برنامه که به قول شما برنامه اصلی ویندوزه اجرا نشه

----------


## DAMAVAND

> مشکلی نداره که این برنامه که به قول شما برنامه اصلی ویندوزه اجرا نشه


///////////////////////////////////////
همون طور که گفتم تازمانی که usetinit.exe اجرا نشه
ویندوز به طور کامل اجرا نمیشه!
یعنی به هیچ عنوان EXPLORER.EXE و بعضی دیگه از سرویس های حیاتی 
ویندوز اجرا نمیشه یعنی کاربر نمیتونه به هیچ جای ویندوز دسترسی داشته 
باشه خوب ما هم هدفمون همینه که کسی تا مجوز نداشته باشه نتونه کاری بکنه اگه مجاز بود برنامه ما فایل اصلی USERINIT.EXE رو که یه جا دیگه کپی کردیم رو اجرا
میکنه و اونوقت ویندوز به طور کامل بالا میاد!!!
فقط همون طور که گفتم ابتدا کاملا مطمعن شید
که برنامتون درست کار میکنه یعنی اگه کاربر مجاز بود USERINIT.EXE  
حتما اجرا کنه چون اگه این کار رو نکنه!
ویندوز به هیچ عنوان بالا نمیاد !!!!!!!!!!!!!!!!!
یه امتحان بکنید منتها با احتیاط خودتون متوجه میشید !!!!

----------


## mehrzad007

نیازی نیست به این کار . در هر صورت این فایل مهم تره از اونیه که بخواین حذفش کنین و دردسر های دیگه . شما توی برنامه ات یه کار دیگه بکن . اکسپلورر رو بردار! 
می تونی از تو رجستری برش داری و برنامه خودتو بزاری . این روش به دو دلیل بهتره : 1- اون فایله دست کاری نمیشه که ما نمی دونیم چیه.
2- اکسپلورر که بیاد خودش اصلا مزاحم میشه چه جوری؟ باید تمام امکانات و گزینه ها و... اکسپلورر رو تحت نظر بگیری و....
پس اکسپلورر رو بردار 
برای اینکه نتونن برنامه دیگه ای رو اجرا کنن دسترسی به تسک منیجر رو هم قطع کن . هم ممکنه برنامه خودتو ببندن هم ممکنه برنامه های غیر مجاز رو لود کنن 
برای این کار هم توی ارشیو سایت بگرد برنامه زیاد هست 
برای بقیه اش هم هر کدوم رو پیدا نکردی بگو تا بگم ...

----------


## programmermp

با سلام

من چرا هر چی می گردم یا جستجوم نتیجه نداره یا پیدا می کنه ولی اون چیزی که من 

می خواهم نیست

دنبال تاپیکی می گردم که توش در مورد غیر فعال کردن کلیدهای ctrl+alt+del یا غیر فعال

کردن پنجره تسک منیجر گفته باشه

اگه کمکم کنید ممنون می شم

با تشکر

----------


## ghafoori

دوست عزیز به این مسیر بپریجیستری بروید و یک مقدار از نوع dword با مقدار 1 ایجاد کنید

[HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre  ntVersion\Policies\System]
"DisableTaskmgr"=dword:00000001

----------


## majidgh

> شما نیازی به تغییر نام فایل ها ندارید و می تونید این دوتا کلید رجیستری را تغییر بدید
> 
> HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
> و مقدار Userinit یا Shell را برابر مسیر برنامه قرار بدید


میشه یه کم بیشتر توضیح بدی . 



> برای اینکه نتونن برنامه دیگه ای رو اجرا کنن دسترسی به تسک منیجر رو هم قطع کن . هم ممکنه برنامه خودتو ببندن هم ممکنه برنامه های غیر مجاز رو لود کنن


بعضی وقتها باید تسک منیجر باز باشه میشه کاری کرد که نشه برنامه بست یا اگه برنامه رو بستن ویندوز ریست بشه ؟؟؟؟

----------


## soleman

سلام
من خودم با مشکل بسته شدن برنامه مواجه شدم ولی تا حالا زیاد روش فکر نکردم ولی به نظرم اگه بیای واسه برنامت سه تا پروسه باز کنی که به صورت اتوماتیک پروسه ها خودشون رو اجرا کنن می تونی مشکلت رو از بین ببری راه مشکلی اما اگه بشه چون در ان واحد نمی شه دوتا پروسه رو بست فکر نکنم بشه کاری کرد
خودم هنوز روش کارنکردم ویه نظر بود اگه دیگران نظری دارنن بگن خوشحال میشم :چشمک:

----------


## saina2006

> میشه یه کم بیشتر توضیح بدی .


یعنی مقدار پیش فرض shell که explorer.exe است را برابر با مسیر برنامت بذاری که جای explore.exe برنامه خودت اجرا بشه

----------


## DAMAVAND

> میشه یه کم بیشتر توضیح بدی . 
> 
> بعضی وقتها باید تسک منیجر باز باشه میشه کاری کرد که نشه برنامه بست یا اگه برنامه رو بستن ویندوز ریست بشه ؟؟؟؟


/////////////////////////////////////////////////
برای اینکه نتونه برنامه شما روببنده فقط کار زیر رو انجام بدین:
اسم فایلتون رو عوض کنید و اسم یکی از پروسس های سیستمی ویندوز رو روش بزارید
مثلا Csrss.exe یا winlogon.exe
 اونواقت  taskmgr هم قادر به بستنش نیست!!!
البته تو بعضی از سرویس پکهای XP جواب میده!

 :گیج:     (   اینم یکی دیگه از سوتی های بیلی تو ویندوز!!!!!!!) :گیج:

----------


## majidgh

یه جمع بندی بکنیم ببینیم بهترین راه ها چی شد . هم واسه اینکه قبل از explorer اجرا بشه ، هم واسه اینکه کاربر نتونه برنامه رو ببنده .

----------


## eyes_shut_number1

Over menu START rightClick And choose open Then Open Program Folder.then Open STARTUP folder and copy  SHORTCUT from your program
enjoy!!

----------


## DAMAVAND

> Over menu START rightClick And choose open Then Open Program Folder.then Open STARTUP folder and copy  SHORTCUT from your program
> enjoy!!


که اونوقت کاربر بره و  SHORTCUT رو از  STARTUP پاک کنه و سیستم رو دوباره راه اندازی کنه بعدش بیاد هر کاری که دلش میخواد تو سیستم بکنه!!!

----------


## eyes_shut_number1

آره خوب ولی اساسا پاک کردن USERINIT.EXE ,I EXPLORER:EXE کاره اشتباهیه! نه؟
حق با شماست

----------


## DAMAVAND

> آره خوب ولی اساسا پاک کردن USERINIT.EXE ,I EXPLORER:EXE کاره اشتباهیه! نه؟


سلام
دوست عزیز:
البته شما  درست میگید و این جور کارها خیلی جالب نیست :متفکر:   :متفکر:   :متفکر:  
منم دارم میگردم تا واقعا بشه از یه راه بهتر این کار رو کرد  :گیج:

----------


## eyes_shut_number1

درسته.
منم ارض کرم سواده ما نمیرسه.
از دوستان با سواد خواهش میکنیم کمک کنند.
هرچند سوال من نبود ولی بهش الاقه پیدا کردم

----------


## CodeMasterX

یکی از دوستان اشاره کردن من هم تجربش کردم و جواب داده.
شما یه سرویس ویندوز بسازید که باید کارهای اصلی رو انجام بده، مثلا اجرا که شد فلان برنامه ها رو قفل کنه،صفحه کلید رو قفل کنه و یا هر چی.این سرویس اگر در لیست سرویس های ویندوز قرار بگیره و اجرا بشه، هر بار که ویندوز بالا میاد قبل از explorer و userinit اجرا میشه، البته فکر کنم بعد از userinit اجرا شه، مهم اینه که قبل از explorer اجرا میشه.
ولی برای اینکه قابل از بوت ویندوز برنامه ای اجرا بشه نمیدونم.ولی اگر کسی به نتیجه ای برای این دومی رسید حتما همین جا لطفا مطرح کنه چون خیلی لازم هست.

----------


## Pa_till

با سلام 
در مورد مشکل شما اگر می خوای برنامه ات با wellcome screen بیاد بالا به نظر من برو به .group policy که باید در run وارد کنی
 gpedit.msc بعد Computer Configuration\Windows Settings\StartUp
بعدش هر برنامه ای که دلت میخواست اونجا بگذار تا قبل از اینکه وارد دیسکتاپ بشه اجرا بشه 
اما اونجارو طیاد دستکاری نکن
اگه مشکلی داشتی برام Email کن

----------


## majidgh

این کارو چطور می تونم اتوماتیک با install برنامه انجام بدم ؟؟

----------


## MM_Mofidi

group police ها بعد از login اجرا میشوند.

----------


## Sub Zero

> این کارو چطور می تونم اتوماتیک با install برنامه انجام بدم ؟؟


نیازی نیست حتما تنظیماتت رو از طریق برنامه Seup بر روی وریندوز اعمال کنی ( البته روش خوبیه ). یه روش دیگه اینه که برنامت در اولین اجرا تنظیمات مورد نظرت رو انجام بده . برای اینکه برنامت متوجه بشه اولین بار اجرا میشه یا نه یه کلید رجیستری رو بررسی کن اگه وجود نداشت معلومه که برنامت اولین باره اجرا میشه و خودت اون کلید رو درست کن تا دفعه بعد نتیجه این بررسی 
False بشه .
برنامه Gameport بعد از اولین اجرا کلیدی به نام FirstRun درست میکنه و مقدار اونو ست میکنه .
هر دفعه که اجرا میشه این کلید رو بررسی میکنه . بعد کارش رو شروع میکنه . 

نحوه کار با کلیدهای رجیستری 

من روشی که یکی از دوستان بهش اشاره کرده بود رو انجام دادم و جواب گرفتم . روش کار به این صورته که در مسیر زیر در رجیستری 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
کلید  Shell رو پیدا کنید و مقدار اون رو با مسیر کامل برنامتون عوض کنید . 
فعلا برای اینکه مطمئن بشید این کار جواب میده این عمل رو به صورت دستی خودتون انجام بدید . 
اگه جواب گرفتید بعد از طریق کد نویسی این کار رو انجام بدید .
در ضمن پیشنهاد میکنم برای یه همچین برنامه ای خاصیت FormBorderStyle فرمتون رو None کنید:

به زودی یه برنامه نمونه رو براتون آپلود میکنم .

----------


## Pa_till

با عرض پوزش کی گفته gruop policy بعد از login اجرا میشه اگه اینطور باشه policy دیگه بدرد نمیخوره اگه قرار باشه اینجور باشه خیلی راحت میشه زد policy رو عوض کرد لطفا یکم در این مورد مطالعه کنید یه فایل فلش برات گذاشتم حتما نگاهش کن تا متوجه اشتبات بشی
اسم فایل Boot Procces است

----------


## Pa_till

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

----------


## MM_Mofidi

gruop policy برای کاربر یا گروه خاصی تنظیم میشه با سطح دسترسی ادمین اجرا میشه ولی بعد از مشخص شدن کاربری که login کرده. نه پیش از welcome screen
ضمنا خوشحال میشم منبعی برای مطالعه بیشتر پیدا کنم.

----------


## Sub Zero

بی خیال Group Policy بشید من تست کردم  جواب نداد یعنی برنامه مورد نظر بعد از Explorer لود میشه. 

اینم یه نمونه برنامه اعمال محدودیتهاش با خودتون . 

نام برنامه : Game Shark
هدف : اجرای برنامه قبل از لود شدن ویندوز
توضیح : تست شده بر روی ویندوز Xp SP2
این برنامه از طریق   ایجاد  کلید-خواندن ونوشتن مقدار در رجیستری کار خود را انجام میدهد .

----------


## majidgh

برنامه رو دانلود کردم ولی فونت های فارسیش به هم ریخته چه کارش کنم درست بشه ؟

----------


## Sub Zero

> برنامه رو دانلود کردم ولی فونت های فارسیش به هم ریخته چه کارش کنم درست بشه ؟


بهم ریختن فونتها مربوط به تنظیمات ویندوزته .
اما در کل مهم کدهای برنامست که باید ازشون استفاده کنی .

اینم نمای برنامه برای اینکه بدونی نوشتهای بهم ریخته چیند.

----------


## MAiLDEREMi

توی
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
UIHost : فایلی است که به جای نمایش یوزرها اجرا می شود.
Shell : فایلی است که بعد از وارد شدن یوزر اجرا می شود (به جای Explorer)

----------


## hadizaker

سلام مسعود جان
می شه با یک delimiter بشه کاری کرد که همراه با UIHost برنامه ما هم اجرا بشه 
مثال:
UIHost,c:\d.exe

----------


## kamiarir

دوست عزیز من هم دارم یک کیوسک مینویسم که میخوام به این برسم که کسی نتونه به امکانات ویندوز دسترسی پیدا کنه. من یک برنامه بنام Kiosk ver 6.00  پیدا کردم ولی کرک میخواد که هنوز نتونستم پیداش کنم. می تونی ازش استفاده کنی.
اگه کرک شو پیدا کردی به منم بده. ممنون میشم

----------


## MM_Mofidi

شما میتونی از web browser هات در kiosk  mode استفاده کنی تقریبا هم کفایت میکنه مثل 
IE     http://support.microsoft.com/kb/154780 
یا 
Opera      http://www.opera.com/support/mastering/kiosk/

----------


## Sub Zero

> دوست عزیز من هم دارم یک کیوسک مینویسم که میخوام به این برسم که کسی نتونه به امکانات ویندوز دسترسی پیدا کنه.


دسترسی به کدوم یک از امکانات ویندوز رو میخوای محدود کنی . برای هر کدومشون یه راهی وجود داره  :متفکر:

----------


## amirsajjadi

با سلام
این فایل userinit.exe که میگید توی همه ی ویندوزها یکیه ؟

----------


## kamiarir

دوستان خیلی ازتون ممنونم که کمک کردین. شاید خیلی دیر شده واسه تشکر ولی من به خدم میبالم که همچین هموطنانی هم دارم

----------


## .:KeihanCPU:.

> این فایل userinit.exe که میگید توی همه ی ویندوزها یکیه ؟


شاید یه آنالیز کنی متوجه بشی

----------


## مهران رسا

دوستان گرامی از راه حل های زیباتون بسی مسرور گشتیم . (هر چند تاپیک قدیمیه) .

 یک سوال جدید برای من پیش اومده : برنامه Kaspersky چطور لوگوی معروف خودشو در پنجره Welcome قرار میده ؟ کسی در این مورد چیزی میدونه ؟

----------


## ebrahim13671367

سلام
شما میتونین برای این کار توی لود برنامتون  اکسپلورر رو ببندین و برای اینکه کلید ctrl+Alt+Delete کار نکنه باید توی قسمت تایمر فرم , taskmanager   رو ببندین.

----------


## shahryari

> سلام
> شما میتونین برای این کار توی لود برنامتون  اکسپلورر رو ببندین و برای اینکه کلید ctrl+Alt+Delete کار نکنه باید توی قسمت تایمر فرم , taskmanager   رو ببندین.


 تاپیک مال 6 سال پیشه ....  :افسرده:

----------

