الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف اجعل النظام لا يستجيب الا باغلاق البرنامج

مغلق
بدأه Xacker في 4 أبريل 2003 · 17 رد · 1,294 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

طرح احد الاخو فكرة وضع كلمة مرور للنظام عند الاقلاع بحيث لا يستطيع الدخول او التحكم بالويندوز بدون وضع كلمة المرور الصحيحة وفي حال الادخال الخاطئ يطفئ الجهاز

السؤال كيف يمكن منع النظام من التحكم باي شيء في الويندوز سوى البرنامج وكيف يمكن اغلاق الناظم باي كود

شكرا

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#2

up

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

again

وينكم شباب اخواني مختار hamohd فتحي عرفة ؟؟ وينكم يالخبراء :(

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#4

والله يا (f)NOP(f) ودي لو أجاوب على سؤالك، لكن للأسف فأنا لا أعرف الجواب، ولكنني سأحاول أن أجيبك في الأيام المقبلة وأرجو من الإخوة أعضاء المنتدى المساعدة.

مع تحياتي(f)

ani.gif
#5

مشكور اخوي وان شاء الل نعرف الجواب على ايديكم يالخبراء

تحياتي

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#6

بسم الله الرحمن الرحيم

صديقي العزيز (f) NOP (f) كيف حالك؟

أرجو أن تكون بخير وفي صحة طيبة، وأتمنى لك التوفيق.

يبدو أن الأمر صعب بعض الشيء، ولكن يمكننا تقسيم متطلبات البرنامج إلى بنود صغيرة ومحاولة حلها تدريجيا بمساعدة باقي أعضاء المنتدى:

فنحن نحتاج إلى:

(1) كود لإخفاء البرنامج من إدارة المهام Ctrl + Alt + Delete.

(2) أو كود لمنع استخدام الـ Ctrl + Alt + Delete.

(3) وضع البرنامج في بدء تشغيل الويندوز، بحيث لا يمكن مسحه بأي طريقة.

(4) جعل البرنامج في المقدمة بحيث لا يمكن الانتقال منه إلى غيره.

(5) أو منع استخدام الـ Alt + Delete.

(6) ......... أرجو من الأعضاء المشاركة.

وتحياتي للجميع

أخوكم (f) عبد الله فتحي

ani.gif
#7

البند الأول:

يمكن إخفاء البرنامج من إدارة المهام عن طريق الأمر التالي:

App.TaskVisible = False

(f)(f)(f)(f)(f)(f)

ani.gif
#8

تابع للبند الرابع:

هناك طريقة تحصر الماوس داخل نطاق الفورم بحيث لا يمكن إخراجها من داخل الفورم، ويمكن أن تفيدنا في هذا البند.

هذه الطريقة موجودة في موضوع (تصويت: أكواد للمبتدئين).

(f)(f)(gift)(f)(f)

ani.gif
#9

انا احاول حاليا لجعل البرنامج يشتغل مع تشغيل الويندوز و قبل اي برنامج اخر اذا نجحت في هذا فأن كل الامور الباقية سهلة !

#10
اقتباس
كاتب الرسالة الأصلية : NOP

طرح احد الاخو فكرة وضع كلمة مرور للنظام عند الاقلاع بحيث لا يستطيع الدخول او التحكم بالويندوز بدون وضع كلمة المرور الصحيحة وفي حال الادخال الخاطئ يطفئ الجهاز

السؤال كيف يمكن منع النظام من التحكم باي شيء في الويندوز سوى البرنامج وكيف يمكن اغلاق الناظم باي كود

شكرا

السلام عليكم اهلا بك اخى NOP

لكى اجعل برنامجى لايستجيب يكون ذلك عن طريق ظهور نافذة الخطأ البيضاء

وبذلك تستطيع انهاء برنامجك

Private Declare Sub FatalAppExit Lib "kernel32" Alias "FatalAppExitA" (ByVal uAction As Long, ByVal lpMessageText As String)

Private Sub Command1_Click()

FatalAppExit 0, "Contactez le revendeur de ce programme" & vbLf & vbLf & "(Cette source provient de http://www.arafa.tk/)"

End Sub

وَقُل رَّبِّ زِدْنِي عِلْماً

#11

بارك الله فيكم

#12

مشكورين يا جماعة الخير والله مش عارف شو اقول خجلتونا بكرمكم الف الف شكر جميعا

بالفعل اخوي عبد الله تقسيم الافكار منطقي ومعقول جدا وبريح اكتر الف شكر على هالفكرة

بالانتظار اخوي المحترف hamohd نرجو لك التوفيق

ممكن توضحلي اخوي عرفة الكود لانه اخوك جديد على الفيجوال

اقتباس
لكى اجعل برنامجى لايستجيب يكون ذلك عن طريق ظهور نافذة الخطأ البيضاء

وبذلك تستطيع انهاء برنامجك

وخصوصا هالنقطة لانه طلبت انا انه النظام ما يستجيب الا للبرنامج فالنقر على alt+tab مثلا لا يستجيب فكيف ذلك ارجو ان اجد الاجابة لديك

مرة اخرى شكرا لكم جميعا وبالتوفيق اخوي الكريم hamohd

تحيات اخوكم NOP (f)(f)(gift)

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#13

اخى الكريمNOP لو كنت تريد ان برنامجك لا يستجيب ويتم اغلاق البرنامج فيكون ذلك بوضع كود نافذة الخطأ البيضاء فى الحدث اكتيف مثلا ويكون ذلك بوضع شرط مثلا

لو المستخدم فعل كذا (مثلا) يتم إظهار نافذة الخطأ البيضاء وبالتالى غلق البرنامج

وتستطيع غلق الجهاز ايضا لو وضعت الكود الخاص بذلك معة

ارجو ان اكون اوضحت

(f)

وَقُل رَّبِّ زِدْنِي عِلْماً

#14

افضل من قبل مشكور على التوضيح اخوي عرفة

يعطيك العافية يا شباب والله مش عارف كيف ردلكم الجميل

تحياتي

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#15

السلام عليكم ورحمة الله وبركاته

:) اعتقد اني وجدت ما كنا جميعا نبحث عنه وهو بالاعتماد على module وجدتها في احد مواقع الفيجوال

في البداية الكود الخاص بجعل البرنامج يعمل في ال startup وهو عبارة عن module ولنسميها startup:

Public Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long
Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Public Declare Function RegCreateKeyEx Lib "advapi32.dll" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, lpSecurityAttributes As SECURITY_ATTRIBUTES, phkResult As Long, lpdwDisposition As Long) As Long
Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long ' Note that if you declare the lpData parameter as String, you must pass it By Value.
Public 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 ' Note that if you declare the lpData parameter as String, you must pass it By Value.
Public Type SECURITY_ATTRIBUTES
nLength As Long
lpSecurityDescriptor As Long
bInheritHandle As Long
End Type
Public Const REG_SZ = 1
Public Const KEY_WRITE = &H20006
Public Const KEY_READ = &H20019
Public Const HKEY_LOCAL_MACHINE = &H80000002

الان ال module التي وجدتها والتي تقوم بتكبير الفورم لتملا الشاشة وكما تقوم بتعطيل ال ctrl+alt+del وتقوم ايضا بتعطيل اظهار قائمة ابدا بالنقر على زر القائمة في الكيبورد وايضا alt+tab وكودها هو التالي:

Option Explicit

Private Declare Function EnableWindow Lib "user32" (ByVal hWnd As Integer, ByVal aBOOL As Integer) As Integer
Private Declare Function IsWindowEnabled Lib "user32" (ByVal hWnd As Integer) As Integer
Private Declare Function GetMenu Lib "user32" (ByVal hWnd As Integer) As Integer
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long

Private hWndBarreTaches As Long
Private EstBarreTachesActive As Integer

Sub SwitchTaches(bEnabled As Boolean)
Dim X As Long, bDisabled As Long

bDisabled = Not bEnabled
X = SystemParametersInfo(97, bDisabled, CStr(1), 0)

End Sub

Public Sub DesactiverBarreTaches()


Dim EWindow As Integer
hWndBarreTaches = FindWindow("Shell_traywnd", "")
    If hWndBarreTaches  0 Then
       'regarde si la fenêtre est active (enabled)
        EWindow = IsWindowEnabled(hWndBarreTaches)

        If EWindow = 1 Then 'Si active, on la désactive
            EstBarreTachesActive = EnableWindow(hWndBarreTaches, 0)
        End If
    End If
End Sub

Public Sub ActiverBarreTaches()

If EstBarreTachesActive = 0 Then
    EstBarreTachesActive = EnableWindow(hWndBarreTaches, 1)
End If

End Sub

بعض الشروحات كما نرى بالفرنسي فلم افهم ما هي اذا في حد بيعرفهم يقلنا شو معني الجملتين الفرنسيات

هلق النقاط اكتملت:

البرنامج يسعمل مع بدء التشغيل يقوم الموديل بتكبير الفورم لتملا الشاشة ويمنع اي محاولة للوصول الى الويندوز ولا يتم اخفاؤه او الخروج من البرنامج الا بادخال كلمة السر الصحيحة

ما علينا الان الا تشكيل الفورم فننشئ Text1

وزر command1 فقط !

نضع الكود التالي في زر كود الزر:

Private Sub Command1_Click()

If Text1.Text = "NOP" Then
ActiverBarreTaches
SwitchTaches True
Unload Form1
End If

End Sub

ولنجعل الفورم الان تقوم بتكبير نفسها الى حدود الشاشة بالامر التالي اكيد مع خاصة Load:

DesactiverBarreTaches
SwitchTaches False

اعتقد هذا هو برنامجنا !! مبروك شباب بالتوفيق ومشكورين على المساعدة والافكار واذا حد في عنده اي اضافة او مناقشة للكود اكون مسرورا في المشاركة (عشان اتعلم منكم :P)

اخوكم المخلص NOP (f)(f)

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#16

اول شي اعذروني على شكل الوجه الذي ظهر في نهاية الرد كنت كاتب الموضوع ولصقه كرد نسيت انه الوجه مش متل الياهو مسنجر مثلا فما تاخدوها استهزاء رجاء وحقكم علي

افكار على ورق بحاجة لاقتراحاتكم الكريمة:

في حال من شغل النظام لا يعرف كلمة السر بهالحالة مضطر يستخدم زر الطاقة لاغلاق الجهاز وهالشي بياثر عليه فسو هو كود غلق الجهاز بنضيفه زر مثلا او في حال كانت الكلمة خطا يغلق النظام

2- يجب ان ندع للعميل حرية اختيار كلمة السر التي يردها بهالحالة لازم نخليه يحدد كلمة السر المرادة والبرنامج بيحفظها بملف ضمن النظام وبيعمل تفقد لما بيشعل

ارجو ان نجد حلولا لهذه الاقتراحات ولكم مني جزيل الشكر

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#17

كود اغلاق الويندوز:

WinDir$ = Environ$("windir")
KillWin$ = WinDir$ + "Rundll.exe User.exe,ExitWindows"
Shell KillWin$

اوكي خلصنا هالنقطة نقطة خطرت ببالي هلق بالاضافة الى السماح للعميل بتحديد كلمة السر التي يريد

النقطة التي خطرت لي هو هل بامكان المستخدم ان يعيد تشغيل النظام ليدخل عبر ال safe mode ويوقم بتعطيل التطبيق ؟

فاكار يجب مناقشتها وشكرا للقراء والمشاركين

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#18

للرفع للاهمية

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…