PDA

View Full Version : پیاده سازی یک Shell روی Windows



leilav_1984
جمعه 18 آذر 1384, 20:54 عصر
لطفا اگه کسی تو این زمینه تجربه ای داره کمکم کنه.
می خوام برنامم تبدیل به یه Shell بشه
یعنی موقع اجرا کاربر هیچ جوری نتونه از محیط برنامه بیرون بیاد
به MyComputer,Start,Run,TaskBar و ... هم هیچ دسترسی نداشته باشه

pantea_l62
شنبه 19 آذر 1384, 08:56 صبح
سلام لیلا جون امیدوارم اوضاع احوال عالی باشه.

در مورد سوالت باید بگم ابتدا روی start از taskbar ویندوز کلیک راست کن بعد گزینه open رو بزن و در پوشه پروگرم وارد شو در اونجا پوشه به نام start up هست تو باید شورتکات اجرایی برنامت رو اونجا بذاری با بالا اومدن ویندوز هر برنامه ای اونجا باشه خودش برای اجرا باز می شه! تو می تونی اندازه پنجره رو طوری فیکس کنی که به دسکتاپ دسترسی نباشه و پنجره های برنامت به کلی قابل بستن نباشه فقط کافیه که start up رو محدود کنی.

در مورد محدود کردن دسترسی به اجزای ویندوزت هم حتما باید کلید های رجیستری رو در بخشهای HKEY_CURRENT_USER و... تغییر بدی و همین طور سری به msconfig در RUNبزن و default های اولیه startup رو به دلخواه عوض کن. البته این کارا رو همین طوری نمی شه کرد چون ممکنه سیستمت قات ! بزنه
کتاب رجیستریم پیشم نیست مگر نه مقدار کلید ها رو برات پیدا می کردم.
یه سری به support.microsoft بزن و از کسانی که در رجیستری کار می کنن بپرس.
اونقدر ها که پیچیده به نظر می رسه سخت نیست!
قربانت الان یه مقدار اوضاع احوال جالب نیست بعد از اوضاع ارشد می بینمت و باهات تماس می گیرم.
موفق باشی

leilav_1984
شنبه 19 آذر 1384, 11:53 صبح
مرسی پانی عزیز :بوس:

چیزایی که گفتی بعضی از مقاصد منو براورده می کنه ولی تعریف Shell Programming نیست
این کارها رو معمولا واسه بازیها انجام می دن که اکثر کاربراش بچه ها هستن :بامزه:
تو این حالتی که گفتی حتی یه user معمولی هم بلده که مثلا Alt+Ctrl+Delete بزنه و برنامه رو ببنده یا خیلی کارای دیگه ...
من یه shell واقعی لازم دارم و توضیحی هم که دادم واسه یادآوری به دوستان بود نه اینکه end هدف باشه.
در مورد ست کردن بعضی کلیدهای Registery هم که شکی نیست باید انجام بشه و مساله من اینه که این کارو با کد انجام بدم نه دستی چون ممکنه برنامه رو user خودش نصب می کنه و همه چیز باید تو setup باشه.
در هر صورت مرسی & Please call me as soon as possible :چشمک:

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

حامد مصافی
شنبه 19 آذر 1384, 16:16 عصر
سلام
شما تصمیم دارید برنامه ای جایگزین Explorer ویندوز بنویسید؟؟؟؟؟

اگه جواب مثبته:
اولاً با دات نت نه!!!
دوماً مسیر برنامه را در آدرس زیر ثبت کنید تا فایل شما به جای explorer.exe اجرا بشه


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell

asilverisis
یک شنبه 20 آذر 1384, 00:09 صبح
سلام

سلام
شما تصمیم دارید برنامه ای جایگزین Explorer ویندوز بنویسید؟؟؟؟؟

اگه جواب مثبته:
اولاً با دات نت نه!!!
دوماً مسیر برنامه را در آدرس زیر ثبت کنید تا فایل شما به جای explorer.exe اجرا بشه


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell


اولا چرا با دات نت نمی شه

دوما من این کار رو توی Windows Server انجام دادم نشد

asilverisis
یک شنبه 20 آذر 1384, 01:39 صبح
سلام
حقیقتش من خودم به طور کامل این کار رو انجام ندادم ولی سعی می کنم در این زمینه هر نکته ای که ممکن به درد بخوره روبگم

مطمئنا یکی از مهمترین کارها همونطور که خود leilav_1984 گفتن از کار انداختن CTRL+ALT+DEL هست

این کار رو می تونید به صورت زیر انجام بدید
به مسیر زیر برید



HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Policies\System


ممکن System در زیرمجموعه Policies وجود نداشته باشه اونو ایجاد کنید

حالا یک DWORD Value ایجاد کنید با مشخصات زیر



Name : DisableTaskMgr
Value : 1


تمام این کار رو با کد هم می تونید انجام بدید اگر نیاز بود بفرمایید کدش رو هم می ذارم

موفق باشی همشهری

leilav_1984
یک شنبه 20 آذر 1384, 10:25 صبح
سلام
حقیقتش من خودم به طور کامل این کار رو انجام ندادم ولی سعی می کنم در این زمینه هر نکته ای که ممکن به درد بخوره روبگم

مطمئنا یکی از مهمترین کارها همونطور که خود leilav_1984 گفتن از کار انداختن CTRL+ALT+DEL هست

این کار رو می تونید به صورت زیر انجام بدید
به مسیر زیر برید



HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Policies\System


ممکن System در زیرمجموعه Policies وجود نداشته باشه اونو ایجاد کنید

حالا یک DWORD Value ایجاد کنید با مشخصات زیر




Name : DisableTaskMgr
Value : 1


تمام این کار رو با کد هم می تونید انجام بدید اگر نیاز بود بفرمایید کدش رو هم می ذارم

موفق باشی همشهری

ممنونم asilverisis عزیز
ولی من می خوام از راه کدنویسی اینکارا انجام بشه؟
چطور می تونم؟

leilav_1984
یک شنبه 20 آذر 1384, 10:34 صبح
سلام
شما تصمیم دارید برنامه ای جایگزین Explorer ویندوز بنویسید؟؟؟؟؟

اگه جواب مثبته:
اولاً با دات نت نه!!!
دوماً مسیر برنامه را در آدرس زیر ثبت کنید تا فایل شما به جای explorer.exe اجرا بشه


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell


چرا با دات نت نه؟
من فکر می کنم قبلا اینو تو مجموعه قابلیتهای دات نت دیدم :گیج:
ضمنا لطفا بگید چطور می تونم از طریق کد کاری رو که گفتین انجام بدم؟

مصطفی کریمی
یک شنبه 20 آذر 1384, 11:36 صبح
سلام لیلا خانوم
برای اینکه کلیدهای عملیاتی رو از کار بندازی باید که اونها رو Redirect کنی. یعنی وقتی keypress event مربوط به اونا فعال شد , یک کلید غیر موثر رو SendKey کنی .
حتما نتیجه رو بهبم بگو . شاید بیشتر بتونم کمکت کنم ....

حامد مصافی
یک شنبه 20 آذر 1384, 13:04 عصر
سلام
اولاً که دات نت سرعت بسیار پایینی داره !!

دوماً برای استفاده از رجیستری به تاپیک کار با رجستری (showthread.php?t=34093) سری بزن

asilverisis
دوشنبه 21 آذر 1384, 09:53 صبح
سلام
بفرما اینم کد
البته با 2005 نوشته شده اگر با 2003 هم کار می کنی فکر کنم همین کدا کار کنن

جوابشو بهم بده

leilav_1984
سه شنبه 22 آذر 1384, 08:26 صبح
asilverisis عزیز از کمکت بی نهایت ممنونم
فکر می کنم حالا فقط باید بقیه کلیدهایی رو که می خوام تو رجیستری تغییر بدم پیدا کنم :kaf:

asilverisis
شنبه 26 آذر 1384, 00:11 صبح
سلام
خواهش میکنم
اینم یکی دیگه
از کار انداختن Alt + Tab




HKEY_CURRENT_USER\Control Panel\Desktop

ValueName = CoolSwitch
Value : 1 : Enable ---- 0 : disable


دربست در خدمت همشهری های عزیز هستیم

امر دیگه ای باشه در خدمتم

موفق باشید

asilverisis
شنبه 26 آذر 1384, 00:16 صبح
سلام
خواهش میکنم
اینم یکی دیگه
از کار انداختن Alt + Tab




HKEY_CURRENT_USER\Control Panel\Desktop

ValueName = CoolSwitch
Value : 1 : Enable ---- 0 : disable


دربست در خدمت همشهری های عزیز هستیم

امر دیگه ای باشه در خدمتم

موفق باشید

asilverisis
شنبه 26 آذر 1384, 00:20 صبح
سلام
خواهش میکنم
اینم یکی دیگه
از کار انداختن Alt + Tab




HKEY_CURRENT_USER\Control Panel\Desktop

ValueName = CoolSwitch
Value : 1 : Enable ---- 0 : ِDisable


دربست در خدمت همشهری های عزیز هستیم

امر دیگه ای باشه در خدمتم

موفق باشید

leilav_1984
یک شنبه 27 آذر 1384, 08:43 صبح
از شرکت همه دوستان در بحث ممنونم
به کمک همه شمه مشکل من داره حل می شه
ایشالا وقتی کامل شد می ذارم همینجا
البته با عرض پوزش VC++ نوشتیم :بامزه: