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

النجدة .... النجدة يا شباب أنا في أمس الحاجة إليكم

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

من عاشق الجنان إلى كل محب :

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

انا مشارك جديد ومبرمج جديد فساعدوني الله يرحم أبوكم.....

أولاً أشكركم لأنكم لم تجيبوا على سؤالي الأول في المنتدى ... شكراً ....

ثانياً : الرجاء حل مشكلتي البسيطة عليكم بالتأكيد ... فزعة يا شباب واللي يرحم أمكم .....

سؤالي كيف أقوم بمعرفة موقع الرجستري وتجيل برامجي فيه بحيث يقوم الكمبيوتر بفتحه فور الدخول إلى النظام .. ..... سهل صح ... !!!!

سؤالي الثاني كيف أقوم بتظهير خصائص صفحة الويب بمستعرض الويب وكيفية اظهار فورم البحث فيها أيضاً ..

وشكراً

محبكم عاشق الجنان

بالعلم والإيمان نبني أمتنا ونعيد عزتنا

#2

آآآآآآآآآآآآآآآآآآه

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

والا ربما افسدت جهازك بدون ان تشعر وتحتاج لعمل Format

لتسجيل بيانات فى الريجسترى

SaveSetting("MyApp","Startup", "Left", "50")



للاحضار بيانات من الريجسترى

GetSetting("MyApp", "Startup", "Left", "25")



لحذف بيانات من الريجسترى

DeleteSetting ("MyApp", "Startup")
#3

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

جزالك الله ألف خير يا أستاذ (عبد العظيم غنيم) ولكن

تراك خوفتني وما أبغى منك إلا تقلي هل أستخدم الطريقة السابقة في جعل برامجي تعمل مع بداية الحاسب وما معنى كلمة startup أقصد ماذا أكتب فيها

وشكراً.....

الرسالة لكل من يملك رداً على السؤال وشكراً

أخوكم المحب عاشق الجنان:eek:

بالعلم والإيمان نبني أمتنا ونعيد عزتنا

#4

أخي العزيز إذا كنت تريد برنامجك يشتغل عندما يشتغل الجهاز

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

مو تدلل

#5

الله يجزاك خير وترى عندي دعوة حلوة لك بس أبغى اسأل الأخ مزوج 2 أو 3 إن كنت مزوج ثلاث بادعيلك بالرابعة4 لا تخاف بس علمني جزاك الله خير

بالعلم والإيمان نبني أمتنا ونعيد عزتنا

#6

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

وقد دفعنى ذلك للبحث والتحرى عن ذلك لأن الكلمة المتنى كثيرا وقد حصلت على المعلومة من موقع Microsoft وهى كالتالى

===========================================

HKEY_CURRENT_USER

SOFTWARE

MICROSOFT

WINDOWS

CURRENTVERSION

RUN

خزن مسار برنامجك فى المكان السابق

ثم اغلق الجهاز واعد فتحه

#7

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

سأهديكم الى طريقة عمل برنامج وتسجيلة بالريجسترى

كيفية عمل مفتاح بالريجسترى وكيفية مسحة.

وهذة هى الطريقة الصحيحة:

===========================

انشىء فورم جديد وضع علية ثلاثة زر كوماند

الاول اكتب علية Create Key

والزر الثانى اكتب علية Delete Key

والزر الثالث اكتب علية Cancel

واضف موديول جديد

سنأتى الان لوضع الاكواد

فى الزر cancel ضع هذا الكود

Unload Me 'exit the program

وفى الزر Create Key ضع هذا الكود:

CreateKey "HKEY_LOCAL_MACHINESOFTWAREarafa"

وفى الزر Delete Key ضع هذا الكود :

DeleteKey "HKEY_LOCAL_MACHINESOFTWAREarafa"

اما فى حدث التحميل load ضع هذا الكود:

Move (Screen.Width - Width) 2, (Screen.Height - Height) 2 'centre the form on the screen

انتهينا من الاكواد الخاصة بالفورم والازرار

افتح الموديول واضف هذا الكود الية:

Type FILETIME

lLowDateTime As Long

lHighDateTime As Long

End Type

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

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

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

Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long

Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, ByVal lpData As String, lpcbData As Long) As Long

Declare Function RegQueryValueExA Lib "advapi32.dll" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, ByRef lpData As Long, lpcbData As Long) As Long

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

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

Declare Function RegSetValueExB Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByRef lpData As Byte, ByVal cbData As Long) As Long

Const ERROR_SUCCESS = 0&

Const ERROR_BADDB = 1009&

Const ERROR_BADKEY = 1010&

Const ERROR_CANTOPEN = 1011&

Const ERROR_CANTREAD = 1012&

Const ERROR_CANTWRITE = 1013&

Const ERROR_OUTOFMEMORY = 14&

Const ERROR_INVALID_PARAMETER = 87&

Const ERROR_ACCESS_DENIED = 5&

Const ERROR_NO_MORE_ITEMS = 259&

Const ERROR_MORE_DATA = 234&

Const REG_NONE = 0&

Const REG_SZ = 1&

Const REG_EXPAND_SZ = 2&

Const REG_BINARY = 3&

Const REG_DWORD = 4&

Const REG_DWORD_LITTLE_ENDIAN = 4&

Const REG_DWORD_BIG_ENDIAN = 5&

Const REG_LINK = 6&

Const REG_MULTI_SZ = 7&

Const REG_RESOURCE_LIST = 8&

Const REG_FULL_RESOURCE_DESCRIPTOR = 9&

Const REG_RESOURCE_REQUIREMENTS_LIST = 10&

Const KEY_QUERY_VALUE = &H1&

Const KEY_SET_VALUE = &H2&

Const KEY_CREATE_SUB_KEY = &H4&

Const KEY_ENUMERATE_SUB_KEYS = &H8&

Const KEY_NOTIFY = &H10&

Const KEY_CREATE_LINK = &H20&

Const READ_CONTROL = &H20000

Const WRITE_DAC = &H40000

Const WRITE_OWNER = &H80000

Const SYNCHRONIZE = &H100000

Const STANDARD_RIGHTS_REQUIRED = &HF0000

Const STANDARD_RIGHTS_READ = READ_CONTROL

Const STANDARD_RIGHTS_WRITE = READ_CONTROL

Const STANDARD_RIGHTS_EXECUTE = READ_CONTROL

Const KEY_READ = STANDARD_RIGHTS_READ Or KEY_QUERY_VALUE Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY

Const KEY_WRITE = STANDARD_RIGHTS_WRITE Or KEY_SET_VALUE Or KEY_CREATE_SUB_KEY

Const KEY_EXECUTE = KEY_READ

Dim hKey As Long, MainKeyHandle As Long

Dim rtn As Long, lBuffer As Long, sBuffer As String

Dim lBufferSize As Long

Dim lDataSize As Long

Dim ByteArray() As Byte

'This constant determins wether or not to display error messages to the

'user. I have set the default value to False as an error message can and

'does become irritating after a while. Turn this value to true if you want

'to debug your programming code when reading and writing to your system

'registry, as any errors will be displayed in a message box.

Const DisplayErrorMsg = False

Function DeleteKey(Keyname As String)

Call ParseKey(Keyname, MainKeyHandle)

If MainKeyHandle Then

rtn = RegOpenKeyEx(MainKeyHandle, Keyname, 0, KEY_WRITE, hKey) 'open the key

If rtn = ERROR_SUCCESS Then 'if the key could be opened then

rtn = RegDeleteKey(hKey, Keyname) 'delete the key

rtn = RegCloseKey(hKey) 'close the key

End If

End If

End Function

Function GetMainKeyHandle(MainKeyName As String) As Long

Const HKEY_CLASSES_ROOT = &H80000000

Const HKEY_CURRENT_USER = &H80000001

Const HKEY_LOCAL_MACHINE = &H80000002

Const HKEY_USERS = &H80000003

Const HKEY_PERFORMANCE_DATA = &H80000004

Const HKEY_CURRENT_CONFIG = &H80000005

Const HKEY_DYN_DATA = &H80000006

Select Case MainKeyName

Case "HKEY_CLASSES_ROOT"

GetMainKeyHandle = HKEY_CLASSES_ROOT

Case "HKEY_CURRENT_USER"

GetMainKeyHandle = HKEY_CURRENT_USER

Case "HKEY_LOCAL_MACHINE"

GetMainKeyHandle = HKEY_LOCAL_MACHINE

Case "HKEY_USERS"

GetMainKeyHandle = HKEY_USERS

Case "HKEY_PERFORMANCE_DATA"

GetMainKeyHandle = HKEY_PERFORMANCE_DATA

Case "HKEY_CURRENT_CONFIG"

GetMainKeyHandle = HKEY_CURRENT_CONFIG

Case "HKEY_DYN_DATA"

GetMainKeyHandle = HKEY_DYN_DATA

End Select

End Function

Function ErrorMsg(lErrorCode As Long) As String

'If an error does accurr, and the user wants error messages displayed, then

'display one of the following error messages

Select Case lErrorCode

Case 1009, 1015

GetErrorMsg = "The Registry Database is corrupt!"

Case 2, 1010

GetErrorMsg = "Bad Key Name"

Case 1011

GetErrorMsg = "Can't Open Key"

Case 4, 1012

GetErrorMsg = "Can't Read Key"

Case 5

GetErrorMsg = "Access to this key is denied"

Case 1013

GetErrorMsg = "Can't Write Key"

Case 8, 14

GetErrorMsg = "Out of memory"

Case 87

GetErrorMsg = "Invalid Parameter"

Case 234

GetErrorMsg = "There is more data than the buffer has been allocated to hold."

Case Else

GetErrorMsg = "Undefined Error Code: " & Str$(lErrorCode)

End Select

End Function

Private Sub ParseKey(Keyname As String, Keyhandle As Long)

rtn = InStr(Keyname, "") 'return if "" is contained in the Keyname

If Left(Keyname, 5) <> "HKEY_" Or Right(Keyname, 1) = "" Then 'if the is a "" at the end of the Keyname then

MsgBox "Incorrect Format:" + Chr(10) + Chr(10) + Keyname 'display error to the user

Exit Sub 'exit the procedure

ElseIf rtn = 0 Then 'if the Keyname contains no ""

Keyhandle = GetMainKeyHandle(Keyname)

Keyname = "" 'leave Keyname blank

Else 'otherwise, Keyname contains ""

Keyhandle = GetMainKeyHandle(Left(Keyname, rtn - 1)) 'seperate the Keyname

Keyname = Right(Keyname, Len(Keyname) - rtn)

End If

End Sub

Function CreateKey(SubKey As String)

Call ParseKey(SubKey, MainKeyHandle)

If MainKeyHandle Then

rtn = RegCreateKey(MainKeyHandle, SubKey, hKey) 'create the key

If rtn = ERROR_SUCCESS Then 'if the key was created then

rtn = RegCloseKey(hKey) 'close the key

End If

End If

End Function

انتهى

ارجو منكم صالح الدعاء...

تحياتى,,,

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

#8

السلام عليكم

ولكن أين أضع اسم برنامجي ومساره أم أنه لا يحتاج لذلك (اقصد هل بمجرد أن هذه الأكواد سوف يصبح برنامجي مسجلاً في أجهزة المستخدم

بالعلم والإيمان نبني أمتنا ونعيد عزتنا

#9

تفضل أخي العزيز

بس ديربالك لا تشغل الإي إكس إي

بل شغل المشروع

مىلï_ىïيï.zip

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

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

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

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

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

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