اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

SEMO.Pa3x

الخبراء
  • Posts

    535
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    11

كل منشورات العضو SEMO.Pa3x

  1. اسعد الله اوقاتكم ، الكثير من الاشخاص قد تجاوز مرحلة البداية بلغة [ Net. ] وبقي عائما ان صح التعبير اي بقي تائها ويدور حولة سؤال كيف ساطور نفسي ؟ حسنا جدا ، نحن تجاوزنا مرحلة البداية وهي [ دوال التعامل مع الملفات / قراءة / كتابة .. الخ ] وايضا تعلمنا [ دوال التعامل مع الريجستري / قراءة / كتابة / حذف .. الخ ] وايضا التعامل مع العمليات ، و و و ... الخ الان نمر بمرحلة اكثر تطورا وهي مرحلة دراسة دوال الويندوز [ API ] التي هي اختصار لـ [ Application Programming Interfaces ] التي هي بدورها عبارة عن [ نواة ] لكي تساعد على عمل صلة بين برامجنا والنظام .. قبل الخوض في صلب الموضوع ، سنشاهد بعض الدوال تحتاج شيء يسمى [ مقبض ] فما هو ؟ [ مقبض او "Handle" ] و هناك شيء اخر يسمى اجزاء الدالة وتسمى [ Parameter ] اما المقبض او "Handle" فما هو ؟ ببساطة هو اشبه بالمفتاح او الرقم الذي يساعدنا بالتحكم بنافذة معينة ، اي ان لكل نافذة يوجد مفتاح يسمى مقبض للتحكم بها ، لكن!! هذا الرقم او المفتاح يتغير كلما قمنا بغلق البرنامج وتشغيلة مرة اخرى ويستحيل ان نجد لنافذتين عنوان مقبض متشابه ، ملاحظة // نجد دائما اختصار كلمة مقبض بالشكل الاتي [ hWnd ] ، مثال على دالة .. حسنا جدا ... وكيف ساعرف مقبض النوافذ ؟ وكيف ساقوم باستغلاله ؟ قلنا ان المقبض :- هو مفتاح او رقم موجود بكل نافذة للتحكم بها . حمل هذا البرنامج من برمجتي المتواضعه [ هنا ] [ شكل البرنامج ] شرح استخدام البرنامج ، قمت باحضار مقبض نافذة برنامج [ Process Explorer ] حسنا جدا ، تعلمنا ماهو المقبض وكيف نقوم باحضار مقبض اي نافذة نريدها .. من اين ساحصل على دوال [ API ] لتنفيذ مشاريعي ؟ لدينا اهم موقعين [ Pinvoke ] و [ Msdn ] ، حسنا جدا .. دعونا نطبق على موقع [ Pinvoke ] وناخذ دالة ثم نستدعيها .. لاحظو معي الموقع ، الجانب الايسر يحتوي اسماء المكتبات الاساسية التي تحتوي الدوال وبداخل كل مكتبة عشرات الدوال .. مثلا شاهدو الدوال بمكتبة [ User32.dll ] دعونا نختار دالة ونطبق عليها .. اخترنا الدالة [ CloseWindow ] لاحظو كيف ظهرت الدالة بعدة اشكال .. ظهرت بلغة [ #C ] و [ VB.NET ] على اشكال اثنان واحدة مختصرة .. اي كتبت بصورة مختصرة التي تبدا [ Private Declare .. ] نقوم بنسخ الدالة ونلصقها بمشروعنا ، يرجى الانتباه .. سنقوم بادراج الدالة اعلى المشروع اي تحت منطقة [ Public Class Form1 ] لاحظو براميتر الدالة ماذا يحتاج ياترى ؟ ساترك الاجابة لكم .. ننتقل للجزء الثاني كيف نستدعي هذه الدالة ؟ طيب قم باضافة [ Button ] واكتب بداخله اسم الدالة لاحظو معي الاسم .. نكتب [ CloseWindow ] الذي هو اسم الدالة .. ثم نقوم بفتح قوس[ ) ] لاحظو معي الشرح الذي ظهر لي .. اي انه يخبرك بانه يحتاج ان تمرر له مقبض النافذة .. لقد استخرجنا المقبض سابقا ، اذن نقوم باستخدامه ، شاهدو كيف .. الان جرب البرنامج ، واخبرني النتيجة .. الان نقوم بتجربة داله اخرى ولتكن دالة [ SetWindowText ] لانها تستعمل براميتران واحد لتمرير مقبض والثاني لتمرير الاسم الجديد للنافذة .. يحتاج [ hWnd ] ويحتاج [ String ] لاحظو الاستدعاء .. الاول المقبض والثاني الاسم من نوع [ String ] الان جرب المشروع واخبرني النتيجة .. هذا كان شرح مبسط لدوال [ API ] وطريقة استخدامها ، لكي تطور نفسك اقرا مزيدا من الدروس حولها ، ...
  2. اقدم لكم الشرح المفصل لكيفية حماية برنامجك من الكسر وصد الكراكرز من عملية تكريكة مبدا عمل الحماية تقوم بالتحقق من ، القطع الاتية .. [ MOTHER BORED ID ] - [ CPU ID ] - [ MAC ADDRESS ] - [ HWID ] لم افهم ؟ اعطيك مثال بسيط ، الان انا قمت ببرمجة برنامج واريد اعطاء لشخص اسمه [ احمد ] لكن ! اخاف ان اعطيه البرنامج فيقوم بنشره ، بهذه الطريقة سالجئ لحماية برنامجي على قطع الجهاز الخاصة بـ [ احمد ] المتمثلة بالهاردوير والمذربورد وغيرها [ الادوات المطلوبة / لعمل الحماية ] [ 1 ] برنامج Net. اي اصدار انا طبقت على الاصدار 2012 [ 2 ] حساب بموقع PasteBin.com [ 3 ] مكتبة System.Management [ 4 ] فنكشنات التحقق من قطع الجهاز ، مكتوبة بلغة [ Net. ] اولا نقوم بتسجيل عضوية بموقع [ PasteBin ] رابط التسجيل [ هنا ] اتمام التسجيل ، ظهور رسالة تخبرك بالتوجه نحو بريدك لتفعيل العضوية بعد عملية التفعيل ظهور رسالة تخبرك بنجاح التفعيل الان نقوم بتسجيل الدخول ثم ، نقوم بفتح الفيجوال ستوديو واختيار مشروع جديد ، ثم نقوم باضافة [ TextBox1 ] + [ Button1 ] من قائمة الادوات ليصبح المشروع كالاتي .. الان نقوم باضافة مكتبة الـ [ System.Management] من خيارات المشروع ، كلك يمين ثم نتوجه الى النافذة [ Refernces ] ثم نقوم بكتابة اسم المكتبة في مربع البحث [ System.Mangament ] ثم نضغط موافق الان نقوم بالنقر المزدوج على الـ [ Form1 ] ونقوم بمسح كل الاكواد ونلصق هذه الاكواد Imports System.Management Imports System Imports System.Text Imports System.Security.Cryptography Imports System.Net Public Class Form1 Dim HW As New SEC_Informations Dim HDD As String Dim CPU As String Dim MB As String Dim MAC As String Dim hwid As String = Strings.UCase(HW.getMD5Hash(CPU & HDD & MB & MAC)) Public Class SEC_Informations '..................................... '>> ReCoder : SEMO.Pa3x '>> Skype : Security.Najaf '..................................... Friend Function GetProcessorId() As String Dim strProcessorId As String = String.Empty Dim query As New SelectQuery("Win32_processor") Dim search As New ManagementObjectSearcher(query) Dim info As ManagementObject For Each info In search.Get() strProcessorId = info("processorId").ToString() Next Return strProcessorId End Function Friend Function GetMACAddress() As String Dim mc As ManagementClass = New ManagementClass("Win32_NetworkAdapterConfiguration") Dim moc As ManagementObjectCollection = mc.GetInstances() Dim MACAddress As String = String.Empty For Each mo As ManagementObject In moc If (MACAddress.Equals(String.Empty)) Then If CBool(mo("IPEnabled")) Then MACAddress = mo("MacAddress").ToString() mo.Dispose() End If MACAddress = MACAddress.Replace(":", String.Empty) Next Return MACAddress End Function Friend Function GetVolumeSerial(Optional ByVal strDriveLetter As String = "C") As String Dim disk As ManagementObject = New ManagementObject(String.Format("win32_logicaldisk.deviceid=""{0}:""", strDriveLetter)) disk.Get() Return disk("VolumeSerialNumber").ToString() End Function Friend Function GetMotherBoardID() As String Dim strMotherBoardID As String = String.Empty Dim query As New SelectQuery("Win32_BaseBoard") Dim search As New ManagementObjectSearcher(query) Dim info As ManagementObject For Each info In search.Get() strMotherBoardID = info("SerialNumber").ToString() Next Return strMotherBoardID End Function Friend Function getMD5Hash(ByVal strToHash As String) As String Dim md5Obj As New System.Security.Cryptography.MD5CryptoServiceProvider Dim bytesToHash() As Byte = System.Text.Encoding.ASCII.GetBytes(strToHash) bytesToHash = md5Obj.ComputeHash(bytesToHash) Dim strResult As String = "" For Each b As Byte In bytesToHash strResult += b.ToString("x2") Next Return strResult End Function End Class Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load CPU = HW.GetProcessorId() HDD = HW.GetVolumeSerial("C") MB = HW.GetMotherBoardID() MAC = HW.GetMACAddress() TextBox1.Text = (hwid) End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim w As New WebClient Dim cpuids As String() = Split(w.DownloadString("Your Link"), "|") Dim cur As String = hwid For Each c As String In cpuids If cur = c Then GoTo authed End If Next MessageBox.Show("1 - Make sure of the title of [ Hardware ] Is not prohibited" & ChrW(13) & ChrW(10) & ChrW(13) & ChrW(10) & "2 - Make sure your Internet connection" & ChrW(13) & ChrW(10) & ChrW(13) & ChrW(10) & "3 - If you find other problems contact on [ Skype : Security.Najaf ]", "Warning message", MessageBoxButtons.OK, MessageBoxIcon.Error) Environment.Exit(0) authed: MessageBox.Show("Has been successfully activated version" & ChrW(13) & ChrW(10) & ChrW(13) & ChrW(10) & "Thank you for using this program", "Welcome Message", MessageBoxButtons.OK, MessageBoxIcon.Information) End Sub End Class الان نقوم بتشغيل المشروع ، نلاحظ سيظهر لنا رقم طويل نقوم بنسخة ثم نقوم بالذهاب لموقع [ PasteBin ] ونقوم بكتابة مشاركة جديدة نقوم بكتابة الرقم الذي قمنا بنسخه ، مع تعديل خيارات المشاركة ثم نقوم بالضغط على كلك يمين على كلمة [ RAW ] ونختار نقوم بالرجوع لمشروعنا ونستبدل كلمة [ Your Link ] بالرابط الجديد الان قم باعطاء برنامجك للعميل ، وقل له ان يشغله ، بعد ان يقوم العميل بتشغيل البرنامج سيظهر له الرقم الطويل يقوم باعطاءك اياه لتقوم انت بوضعه بالموقع وسيعمل برنامجك بدون اي مشاكل اما عند الاشخاص الغير مصرح لهم باستعمال البرنامج الان السؤال كيف ساقوم باضافة اكثر من رقم عميل بالموقع ؟ الجواب بين كل عميل واخر افصل بينهم بالـ [ | ] مثال بسيط على العملية .. نصائح لحماية معقدة اكثر ، قم بضغط البرنامج بحماية [ SafeEngine ] او [ Consufer ] او غيرها من باقي الحمايات العنيدة .
  3. اسعد الله مسائكم ايها النخبة ، احببت ان اطرح لكم شرح بسيط جدا في التحكم بـ [ ازرار الكيبورد ] عن طريق دوال الـ [ API ] سيكون الشرح على دالة [ GetKeyPress ] ضمن مكتبة [ user32.dll ] [ GetKeyPress ] للمزيد من المعلومات عنها [ هنا ] ، الان نقوم بكتابة الدالة اسفل الـ [ Public Class Form1 ] Private Declare Function GetKeyPress Lib "user32" Alias "GetAsyncKeyState" (ByVal key As Integer) As Integer لاحظو الدالة تحتوي على براميتر واحد [ Key ] من نوع [ Integer ] الان ركزو معي نقوم باضافة [ Timer ] ثم نغير خاصيته الى [ True ] ثم نكتب بداخله ، الاوامر التالية .. If GetKeyPress(Keys.A) Then MsgBox("I have used the button { A } ") End If If GetKeyPress(Keys.B) Then MsgBox("I have used the button { B } ") End If ماذا فعلنا ؟ لاحظو معي .. If GetKeyPress(Keys.A) Then كتبنا جملة شرطية على الدالة [ GetKeyPress ] ثم مررنا للبراميتر [ Key ] مفتاح [ A ] اختر اي زر يعجبك [ A , B , C , Alt , Shit , F7 , Enter ... ] ثم نقوم بكتابة الشرط الذي نريد تحققه ، عند استخدام الزر المطلوب نحن كتبنا [ A ] فاذا تم الضغط على الزر [ A ] ماذا سيحصل ؟ هذا السؤال يعود لك انت ستحدد الامر الذي تريده ، وعلى سبيل المثال If GetKeyPress(Keys.A) Then MsgBox("I have used the button { A } ") End If اذا تم الضغط على الزر المعين [ A ] سيظهر [ MessageBox ] يخبرك انك استخدمت [ A ] سانتضر تجاربكم وابداعاتكم على استخدام هذه الدالة تم بحمد الله ، SEMO.Pa3x
  4. نعم، لدي بعض المواضيع الاثرائية والحصرية نوعا ما، لهذه اللغة الرائعة. كما انني قدمت دورة لهذه اللغة لمستوى الاشخاص المتوسطين. اذا تم فتح القسم ساقوم بكتابتها حسب اوقات فراغي. حسنين
  5. مثل ما قال الاستاذ @ابوخليل حاول تشرح اكثر، لكي نتمكن من مساعدتك. حسنين
  6. لماذا اخترت المسار C لنسخ الملف؟؟ هذا المسار يكون محمي ويجب استخدام صلاحيات مسؤول لنسخ ملف الى القرص C وبذلك لن تعمل قاعدة البيانات حبذا لو قمت بتغيير المسار الى Temp او مسار يكون في كل جهاز. حسنين
  7. موضوعك فارغ وبلا فائدة عزيزي, اذا كانت لديك مُشكلة او طلب يخص الاكسس اطرحه, اما تقييم البرامج ومعرفه اسعارها فالاحرى بك ان تسال عنها في دولتك وفي منطقتك.
  8. السلام عليكم , تحية طيبة لإدارة المنتدى. كما واضح في العنوان اقترح انشاء قسم للـ C# / VB.NET خصوصا لانني من عشاق هذه اللغة ومن روادها. حسنين
  9. @Yaool ولماذا تستخدم Tag ؟ اكتفي فقط بكتابة txt_title = searchtext حسنين
  10. بسم الله الرحمن الرحيم اللهم صل على محمد واله الطاهرين وصحبه المنتجبين السلام عليكم ورحمة الله وبركاته #قوت_القلوب تطبيق اسلامي ينبه المؤمنين على اوقات الصلاة ويذكرهم بالمناسبات الدينية كما وانه ينير القلب بذكر الله تعالى من خلال قراءة القرآن الكريم وبعدة اصوات لغات البرمجة والبرامج المستخدمة في بناء التطبيق VB.NET - JavaScript - Html + Photoshop مدة العمل اربعة سنوات صدر الاصدار الاول من التطبيق في (20 ديسمبر 2016) وصدرت بعده عدة اصدارات شملت تطورات كثيرة، واليوم صدرت النسخة الحديثة منه والتي شملت اعادة بناء التطبيق من الصفر بواجهة جديدة ومختلفة تماماً عن الاصدارات السابقة وايضا اضافة العديد من المميزات الجديدة في التطبيق - عندء بدء تشغيل التطبيق يُظهر دعاء اليوم الحالي - - اضغط على اخفاء النافذة ليظهر شكل التطبيق - في الشريط العلوي توجد عده خيارات (اوقات القرآن الكريم مع امكانية التحكم بتشغيل القرآن واطفاءه لصلوات معينة) واوقات الصلاة والمناسبات الدينية والاعدادات.. الخ - اوقات تشغيل القرآن الكريم - - اوقات الصلاة - الاوقات الاخرى (المُشتملة على اوقات رمضان ..الخ) - تعديل اوقات الصلاة (اضافة دقائق او تنقيص دقائق) - - عرض المناسبات للشهر الهجري الحالي - - الحقوق - - الاعدادات - - خيار تحديد موقعك الحالي عن طريق GPS وبناءاً عليه سيتم حساب اوقات الصلاة والاوقات الاخرى - - خيار جلب التاريخ والوقت والطقس لمدينتك الحالية مع امكانية اعادة ضبط وقت الكومبيوتر الخاص بك - - عند اكتشاف اي خلل في التطبيق او لديك مُشكلة او اقتراح يمكنك ارسال رسالة مباشرة الى الدعم الفني وسيتم الرد عليك في اقرب وقت - - اعداد - مؤسسة الصبح المستنير الانسانية 2016-2018 تصميم وبرمجة حسنين حرز الدين (SEMO.Pa3x) -تحميل التطبيق- مباشرة من سيرفر المؤسسة اضغط [ هُنا ]
  11. @Yaool استخدم حقل ثاني, عند الكتابة في الحقل الاول تبقى الكتابة كما هي لا تتغير لكنها سوف تكتب في الحقل الثاني وتكون مفرغة من الحركات وو.الخ وهذا الحقل سوف يكون مخفي Visible = False ثم الاستعلام سوف يأخذ معيار البحث من الحقل الذي قمنا بأخفاءه وبالتالي سوف يكون لديك حقل يعمل في الكواليس. حسنين
  12. استخدم الدالة Replace عند الحدث After_Update لإستبدال الهمزة والتاء..الخ حسنين
  13. عليكم السلام, ارفق القاعدة لكي نتمكن من مساعدتك. حسنين
  14. حسنا جداً، بهذا الأمر يجب ان نستخدم العتاد الثقيل وهو الـ VBA قم بإنشاء وحدة نمطية واعطها اي اسم مثلا ( Clear_Text ) وقم بألصاق هذا الفنكشن بداخلها Public Function ReplaceString(tshkeel As String) Dim i As Integer Dim fld As String, wr As String, spa As String wr = "" fld = tshkeel i = 1 Do While i <= Len(fld) spa = Mid(fld, i, 1) If Asc(spa) = 240 Or Asc(spa) = 241 Or Asc(spa) = 242 Or Asc(spa) = 243 Or Asc(spa) = 244 Or Asc(spa) = 245 Or Asc(spa) = 246 Or Asc(spa) = 247 Or Asc(spa) = 248 Or Asc(spa) = 249 Or Asc(spa) = 250 Then Else wr = wr & spa End If i = i + 1 Loop ReplaceString = wr End Function ثانياُ: قم بعمل استعلام وضع بداخله الحقل الذي يتضمن الاسماء التي تحتوي على الحركات الهمزة والكسرة والضمة.. الخ ثم قم بإنشاء حقل جديد في الاستعلام لكي نقوم بمناداة الوحدة النمطية كالاتي: Clearing_Text: ReplaceString( [اسم الحقل الذي يتضمن الاسم] ) اذا واجهت مشكلة ارفق القاعدة, لكي نقوم بمساعدتك. حسنين
  15. طيب, قم بعمل استعلام يقوم بإستبدال جميع الهمزات والحركات للنصوص المسجلة في القاعدة وريح راسك حسنين
  16. @Khalf عزيزي الموضوع ابسط مما تتخيل، يكفي فقط ان تضع وسوم الـ HTML في مصفوفة من نوع String ثم تقوم بعمل Loop لفلترة الـ RitchTextBox وتفريغها من الوسوم بإستخدام الدالة Replace بحيث تقوم الدالة بإستبدال الوسوم بألاعتماد على الوسوم التي وضعناها سابقا في المصفوفة,, ثم يخزن القيم الفارغة من الوسوم في متغير لكي يتم حفظها في الجدول. حسنين
  17. نعم يمكنك ذلك بإستخدام الدالة Replace لإستبدال وسوم الـ HTML وحفظ المخرجات الفارغة من الوسوم في حقل اخر في الجدول. حسنين
  18. وعليكم السلام ورحمة الله وبركاته.. تفضل Option Compare Database ' لتسجيل عدد الضغطات Dim Number_Click As Integer Private Sub Form_KeyPress(KeyAscii As Integer) ' اذا تم الضغط على مفتاح Enter If KeyAscii = vbKeyReturn Then Number_Click = Number_Click + 1 ' اذا كانت عدد الضغطات اثنان If Number_Click = 2 Then Number_Click = 0 ' ضع اسم النموذج الذي تريده ان يفتح DoCmd.OpenForm "Form_Name" End If End If End Sub حسنين
×
×
  • اضف...

Important Information