كمك در مورد قفل كردن Ctrl+Alt+Deleteدرموقع اجراي برنامه

در اين بخش مي‌توانيد به مباحث مربوط به انواع زبان هاي برنامه نويسي بپردازيد

مدیران انجمن: athlon64x2, abbas.m.k, شوراي نظارت

Administrator
Administrator
نمایه کاربر
پست: 15674
تاریخ عضویت: جمعه 7 بهمن 1384, 7:51 pm
سپاس‌های ارسالی: 70844 بار
سپاس‌های دریافتی: 31298 بار
تماس:

پست توسط Mahdi1944 » چهار شنبه 23 اسفند 1385, 4:21 pm

سعي مي‌کتم راه ديگه‌اي پيدا کنم
:-(
زندگي صحنه يکتاي هنرمندي ماست هرکسي نغمه خود خواند و از صحنه رود
صحنه پيوسته به جاست خرم آن نغمه که مردم بسپارند به ياد


[لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید] | [لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید] | مجله الکترونيکي سنترال کلابز

[لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید] | [لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید] | [لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید]

لطفا سوالات فني را فقط در خود انجمن مطرح بفرماييد، به اين سوالات در PM پاسخ داده نخواهد شد

Major II
Major II
نمایه کاربر
پست: 107
تاریخ عضویت: یک شنبه 5 آذر 1385, 2:56 pm
سپاس‌های ارسالی: 49 بار
سپاس‌های دریافتی: 81 بار
تماس:

پست توسط pc-sinoheh » چهار شنبه 23 اسفند 1385, 4:40 pm

بله اونجا قرار دادم من
كار نمي كنه

Administrator
Administrator
نمایه کاربر
پست: 15674
تاریخ عضویت: جمعه 7 بهمن 1384, 7:51 pm
سپاس‌های ارسالی: 70844 بار
سپاس‌های دریافتی: 31298 بار
تماس:

پست توسط Mahdi1944 » چهار شنبه 23 اسفند 1385, 5:06 pm

يه فرم جديد ايجاد كنيد و يک checkbox بهش اضافه كنيد به همون نام پيشفرض Check1
بعد كد زير رو به برنامتون وارد كنيد
ميتونيد قسمتهاي فعالسازي و غير فعال سازي رو هر روشي که خواستيد قرار بديد، مثلا به محض لود شدن فرم سه کليد از کار بيوفته و به محض خروج (زمان unload) دوباره سه کليد فعال بشه
در اين کد با استفاده از رجسيتري اين کار صورت ميگيره و مطمئن تر از روشهاي مشابه هست

کد: انتخاب همه

      
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long

 
 
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long

 
 
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long

 
 
Private Const REG_SZ = 1

Private Const REG_BINARY = 3

Private Const REG_DWORD = 4

Private Const HKEY_CURRENT_USER = &H80000001

Private Sub SaveStringWORD(hKey As Long, strPath As String, strValue As String, strData As String)

'----------------------------------------------------------------------------

'Argument : Handlekey, Name of the Value in side the key

'Return Value : Nil

'Function : To store the value into a key in the Registry

'Comments : None

'----------------------------------------------------------------------------

Dim Ret

'Create a new key

RegCreateKey hKey, strPath, Ret

'Set the key's value

RegSetValueEx Ret, strValue, 0, REG_DWORD, CLng(strData), 4

'close the key

RegCloseKey Ret

End Sub

Private Sub Check1_Click()

SaveStringWORD HKEY_CURRENT_USER, "software\microsoft\windows\currentversion\policies \system", "DisableTaskMgr", Val(Check1.Value)

End Sub

 
 
Private Sub Form_Load()

Check1.Caption = "Disable Task Manager"

End Sub


موفق باشيد
زندگي صحنه يکتاي هنرمندي ماست هرکسي نغمه خود خواند و از صحنه رود
صحنه پيوسته به جاست خرم آن نغمه که مردم بسپارند به ياد


[لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید] | [لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید] | مجله الکترونيکي سنترال کلابز

[لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید] | [لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید] | [لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید]

لطفا سوالات فني را فقط در خود انجمن مطرح بفرماييد، به اين سوالات در PM پاسخ داده نخواهد شد

Colonel II
Colonel II
پست: 90
تاریخ عضویت: پنج شنبه 9 شهریور 1385, 9:15 pm
سپاس‌های دریافتی: 9 بار

پست توسط athlon64x2 » دو شنبه 6 فروردین 1386, 1:51 am

ahad-ahmadzadeh, سلام دوست گرامي

در مورد غير فعال کردن alt+f4 به راحتي و به روشهاي گوناگون قابل انجام است .
اما در مورد ctrl+alt+del
به احتمال زياد منظور شما ويندوزهاي خانواده nt هستند مثل ايکس پي . در اينصورت پاسخ سوال شما در مورد "غير فعال کردن ترکيب اين 3 کليد" بطور کلي "غير ممکن" است. در واقع غير فعال کردن task manager که جناب mahdi1944 لطف کردند و کد نمونه آنرا ارسال کردند بهترين و مناسبترين شيوه اي است که ميتوان اتخاذ کرد اما توجه کنيد که هنوز هم اين ترکيب غير فعال نشده و در ضمن سطح دسترسي کاربر به رجيستري نيز بايد مد نظر قرار گيرد .
اينکه چرا "غير فعال سازي" غير ممکن است و چرا هيچ message با زدن اين 3 کليد به برنامه ارسال نميشود به زمان طراحي ويندوز ان تي 3 بر ميگرده که در ازمنه باستان! يکي از بزرگترين مشکلات يونيکس صفحات تقلبي درخواست نام کاربري و پسورد بود که کاربران با تايپ در آنها اطلاعات رو به هکر تقديم ميکردند . ويندوز براي قفل سيستم و نمايش فرم لوگين از اين ترکيب استفاده کرد و کنترل آن به هيچ عنوان قابل تداخل توسط نرم افزارهاي عادي شامل ويروسها و ... نيست که به امنيت سيستم به شدت مي افزايد . در ويندوز ان تي پردازش وقفه حاصل از فشردن ترکيب اين 3 کليد در سطح kernel انجام ميشه در حاليکه که برنامه هاي استاندارد ما در user privilege اجرا ميشوند که اينهم براي پايداري سيستمه بنابراين برنامه هاي عادي به هيچ عنوان امکان دريافت آن را ندارند .

اما از طرفي اصولا در برنامه نويسي غير ممکن نداريم. اصولي ترين و منطقي ترين راه نوشتن يک درايور کيبورد هست که چندان هم سخت نيست و سورس کد نمونه آن هم فکر ميکنم با جستجو به راحتي قابل يافتن باشد . در اين درايور جديد ترکيب 3 کليد رو به نحو دلخواه خودتون هندل ميکنيد (مثلا کنسل) . از آنجا که درايورهاي سخت افزاري در kernel privilege اجرا ميشوند به راحتي به ترکيب اين 3 دسترسي داريد . اين درايور کيبورد جديد رو بايد روي سيستم نصب کنيد. طبيعتا اين امر وقتي است که ميخواهيد بطور قانوني اين کار رو انجام بدين مثلا در کافي نت يا مراکز مشابه که ادمين سيستم هستيد وگرنه هيچ کسي حاضر نميشه براي اجراي يک برنامه درايور کيبورد استاندارد سيستم رو جايگزين کنه !!! نصب و جايگزيني درايورهاي سخت افزاري هم بدون ارائه يک توضيح دقيق و تاييد کاربر ممکن نيست و قابل پيگرد قانوني است مثل افتضاحي که سوني با نصب بي سر وصداي محافظهاي کپي سي دي هاي صوتي اش با اون روبرو شد . خلاصه همه جوانب رو بطور کامل مد نظر قرار بديد . اساسا سلب امکان بستن برنامه از کاربر به شدت bad programming حساب ميشه و از طرفي هيچ برنامه اي بدون باگ نيست و فرض کنيد برنامه شما هنگ کنه و کاربر در برنامه ديگري کلي اطلاعات ارزشمند سيو نشده داشته باشه . اين برنامه شما راهي به جز خاموش کردن سيستم باقي نميگذاره و ميتونه ضرر هنگفت و حتي جبران ناپذير به کاربر وارد کنه .

ارادتمند
نعيمي

ارسال پست

بازگشت به “برنامه نويسي”