كيف اضع صورة في pic box من print screen بيكون في البداية : keycode = 44 لكن بعدين اريد وضعها في picture box كيف ذلك ؟
مجرد محاولة فاشلة :
Private Sub Command1_Click() keycode = 44 pic.Picture = Clipboard.GetData pic.Refresh End Sub
كيف اضع صورة في pic box من print screen بيكون في البداية : keycode = 44 لكن بعدين اريد وضعها في picture box كيف ذلك ؟
مجرد محاولة فاشلة :
Private Sub Command1_Click() keycode = 44 pic.Picture = Clipboard.GetData pic.Refresh End Sub
تم تعديل هذه المشاركة بواسطة مبرمج مبتدا في 21 سبتمبر 2007 في 21:26

السلام عليكم ورحمة الله وبركاته
حدد نوع البيانات فليس بالضرورة نجد فقط داخل الحافظة صورة
Image1.Picture = Clipboard.GetData(vbCFBitmap)
أولا الـ Print Screen حسب ما أعرف ليس له KeyCode , ثانيا هل يصح أستعمال الـ KeyCode بحدث الـ Click ؟
الصح :
لو عايز تجيب الصور من الحافظة لما الـ Print Screen ينضغط فقط >> تعمل Hook على الـ Keyboard كلها , راجع مواضيعى.
لو عايز تجيب الصور من الحافظة فى حالة أنها أحتوت على صورة بأى طريقة من الطرق و ليكن بعمل Copy لجزء من صورة بداخل محرر صور >> تعمل Clipboard Hook راجع موقع AllAPI
إقرأ معى:
----
المثقفون العرب .. المزورون العرب: تأبين محمود درويش نموذجا
ماذا خسر العالم بانحطاط المسلمين ؟!! للعلامه: أبو الحسن الندوى (كتاب هام لكل مسلم).
المنهجية ومقدمات في الطلب (لطلاب العلم الشرعى)
أخي ميرمج أبحث قبل السؤال لأن هذا السؤال طرحته أنا في المنتدى ولكن لا أعلم أين رابطه الآن.
ملاحظة : راجع كتاب الأخ رغيد الطيب عن البرمجة بالوينسوك.



Email : sao_-5000@hotmail.com
ربما كان يقصد الثابت vbKeySnapshot الذي نستعمله عادة مع الدالة keybd_event
'Const vbKeySnapshot = 44 (&H2C) keybd_event vbKeySnapshot, 0, 0, 0
والله جهازي ما فيه فيجوال بيسك 6 ، ولو كان مثبت احتمال ايجيب لك الطريقة ،
الأفضل لك يا رجل تترك الفي بي 6 في المشاريع العملية المهمة وتتوجه للدوت نت 2005
3 أكواد في الدوت نت = 15 كود في الفيجوال بيسك 6 ، يعني إن كنت تصلح برنامج بالبيسك 6 في شهر ، بالدوت نت تصلحه في 10 ايام
وبالنسبة لكود إضافة الصورة بواسطة الدوت نت هو كالآتي:
If Clipboard.ContainsImage = True Then PictureBox1.Image = Clipboard.GetImage
كود طويل مرة .... ، اعذرني هذا ما قدرت عليه
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

::: حلقات برنامج العــلم والإيــمان بروابط سريعة ومباشرة من مدونة الأخ أنواريكا
وللعلم بعض الملفات تظهر بدون صوت أو بدون صورة وحلها بتحميل هذا البرنامج
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*--*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
ممكن سورس ?? .... لم افهم شيء اريد اخذ صورة ووضعها في الصورة باي طريقة
شكرا لكم
keybd_event
sub or function no found !!
تم تعديل هذه المشاركة بواسطة مبرمج مبتدا في 22 سبتمبر 2007 في 07:31

Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long Private Declare Function StretchBlt Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long Private Sub Command1_Click() Dim wScreen As Long Dim hScreen As Long Dim w As Long Dim h As Long Picture1.Cls wScreen = Screen.Width \ Screen.TwipsPerPixelX hScreen = Screen.Height \ Screen.TwipsPerPixelY Picture1.ScaleMode = vbPixels w = Picture1.ScaleWidth h = Picture1.ScaleHeight hdcScreen = GetDC(0) r = StretchBlt(Picture1.hdc, 0, 0, w, h, hdcScreen, 0, 0, wScreen, hScreen, vbSrcCopy) End Sub
ألا بذكر الله تطمئن القلوب
مشكور اخوي مبرمج مبتدأ بصراح
لازم تاخذ لقب محترف
لكن كود اللي حطه المزمجر افضل
تحياتي
من احب شيء ابدع وابتدع فيه
لازم تاخذ لقب محترف
الكود الي حطيته انا خطا اخي
___________
اخي المزمجر
r = StretchBlt(Picture1.hdc, 0, 0, w, h, hdcScreen, 0, 0, wScreen, hScreen, vbSrcCopy)
هذا الكود يرجع لدالة Stretchblt لكن لم افهمه هل من الممكن الشرح

اقتباسهذا الكود يرجع لدالة Stretchblt لكن لم افهمه هل من الممكن الشرح
لو استعملت تعليمة Stretch في برنامج الاوتوكاد
لكانت تعني تمديد العناصر
حيث تقوم الدالة بتمديد الصورة الملتقطة أو ضغطها حسب مساحة صندوق الصورة
ألا بذكر الله تطمئن القلوب
اقتباسهل بامكاني اخذ الصورة والبرنامج في حالة hide ??
بالتأكيد لان أخذ الصورة لسطح المكتب لا يتعلق بالفورم
عند ارسال أمر print screen باستعمال keybd_event فهي تقوم بتخزين صورة سطح المكتب بطيبعة الحال هناك طريقة لأخذ صورة النافذة الفعالة بالضغط على alt+print screen
يمكنك تصميم برنامجك كي يكون بجوار الساعة لكي تتفادى ظهور نافذة البرنامج عند التقاط صورة سطح المكتب
بالنسبة للدالة keybd_event فتعريفها :
Private Declare Sub keybd_event Lib "user32" (ByVal bvk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
ومن ثم يمكن التقاط الصورة بارسال المتغير الذي يعبر عن زر print screen
keybd_event vbKeySnapshot, 0, 0, 0
واستخراج الصورة من الحافظة
Image1.Picture = Clipboard.GetData(vbCFBitmap)
لا تنسى أن تدع فارق زمني بين التقاط الصورة وعرضها
اخي هل يمكن بدون ما يكون قرب الساعة
انا جربت اعمل لكن هناك خلل لا استطيع شرحه
اضغط كم مرة print screen لتكتشفه

اقتباسلا تنسى أن تدع فارق زمني بين التقاط الصورة وعرضها
لقد وضعت في التايمر الأمرين معا يعني الضغط على الزر وعرض الصورة من الحافظة
يمكن استخدام الدالة Sleep لجعل فارق زمني أو عرض مسج بوكس بين الأمرين كأن نضع
keybd_event vbKeySnapshot, 0, 0, 0 MsgBox "Screen Captured " Picture1.Picture = Clipboard.GetData(vbCFBitmap)
السلام عليكم استاذ مبرمج مبتدا انا كنت بعمل نفس فكرت البرنامج وكنت وقفة على نفس الكود الهو اخذ نسخة من الصورة بس كود المزمجر رائع بس كنت احب اعرف اخر ما توصالت الية
السلام عليكم مبرمج مبدا او الاستاذ مزمجر يا جماعة انا عايزة خدمة انا مش فاهمة الكود بتاع الاخ مزمجر انا اقدرت اعرف انوا هنا مستخدم مكتبات 00لدوال
api
Picture1.Cls
wScreen = Screen.Width \ Screen.TwipsPerPixelX
hScreen = Screen.Height \ Screen.TwipsPerPixelY
Picture1.ScaleMode = vbPixels
w = Picture1.ScaleWidth
h = Picture1.ScaleHeight
hdcScreen = GetDC(0)
r = StretchBlt(Picture1.hdc, 0, 0, w, h, hdcScreen, 0, 0, wScreen, hScreen, vbSrcCopy)
End Sub
انا فهمت اساس الكود بس دلوقتى
Picture1.Cls
Clsدى دالة من دوال
get dcطب هى وظيفتها اية بالضبط هل انت هنا بتامر بمسح اى اىبيانات على الادادة
ياريت لو حد يقدر يشرحى الكود
ترجع مقبض جهاز العرض لتحديد مساحة الرسم فيما بعد
تقوم بنسخ من اطار معين إلى اطار آخر مع مراعاة التحجيم طبعا
يمكن مراجعة الموقع للاستفادة أكثر
dream net اشكرك
على ردك بس انت شوفت المشروع الانا رفعتة ياريت تشوفة وتقوالى رايك فى اية وانت شايف اية العيب الفى
فى النتظار ردك
السلام عليكم ورحمة الله وبركاته
بالنسبة للكود كنت سأعلق عنه في الرد السابق
Do sendkey "[prtscn]" Loop
1- لا أعرف مافائدة هذا الكود هنا ؟
بالنسبة لي يجب حذفه
2- الخاصية interval للTimer تساوي 0 يعني الكود الموضوع فيه لن ينفذ لذلك يجب تغيير الخاصية والتي ترمز للمجال الزمني الذي يتم تنفيذ فيه الكود الموضوع في التايمر بالميلي ثانية يعني لو وضعنا 1000 هذا يعني 1 ثانية (نفذ كود التايمر كل ثانية )
بالتوفيق
dream net شكرا على متابعتك
بالنسبة للانترفال مجرد بس انى نسيت اكتب رقاممها
ام كود البرانت اسكرين انا صلا مبرمجة برامج بيزنس اكتر بمعنى برامج مبيعات ومدارس محلات سوبر ماركت بس فى حد ادانى كام فكرة لبرامج السيستم وبتالى يعنى خبرتى فيها مش اوى فالكود البرانت اسكرين هو الاوال الانا كنت عارفة بس كود الاخ مزمجر بصراحة اصلا انا مش فاهمة فى حجات كتير لانى مش درست دوال
api
بس انا دلوقتى ام شيلت الكود وظبط الانترفال بدا ياخد صورة الديسك توب تمام كدة بس فى مشكلة ان المفروض ام انا اوقف البرنامج اقدر اعمل عرض للصور دى عشان اقدر اعرف اية الشتغل اعتقد التخزين دية لازم فى قاعدة بيانات وعلى الاساس دية انا كنت حطة دادة كنتروال فى الفورموموصالها بقاعدة بيانات اكسس فدلوقتى ازاى انا هقدر اعرض الصوردى
واشكرا كتير dream net
قبل تسجيلها وعرضها المفروض مراعاة حجم الصور الناتجة عن العملية والتي تكون كبيرة
لذلك من الأحسن تصغير حجمها أو تغيير تنسيقها بمحاولة حفظها بصيغة JPG
هناك عدة مواضيع تتحدث عن كيفية حفظ الصورة بتنسيق غير الBMP من أجل تقليل حجمها
بعدها نعود لعملية تسجيلها , هناك أيضا عدة مواضيع وأمثلة تتحدث عن كيفية تخزين واستخراج صورة من قاعدة بيانات
ماوجدته عندي مثال عن كيفية تخزين وقرائة صورة داخل قاعدة بيانات يمكن التعديل عليها لاستعماله في مشروعك
بالتوفيق للجميع
السلام عليكم شكرا على موضوع حجم الصورة بس كنت اعتقد انا حجم الصورة هيكون ثابت لان التقاط الصور من الديسك توب بس على العموم انا اخدت الكود وبدات
احطة عندى بس فى
مشكلة ايرو فى اكواد مكتبات الapi
وكنت وضحت انى فى بداية محاولات لدراسة هذة الدوال ام المشروع بتاعك فهو شى رائع بس انا كنت عايزة اعرف لية حضرتك عامل
داير ودرايف وفايل ليست بوكس بنسبة لفكرتى معتقدش انى محتاجاها و بس كان لية سوال هو حضرتك الصور المخزنة فى قاعدة البيانات مخزنة عن طريق الاكسس نفسة ولا من المشروع بتاعك انا مش عارفة لو انت سجالتها من البرنامج سجالتها ازاى لان الاكواد مش لقيت فيها اى كود للحفظ المشروع الهرفقة فى عيب ذى موضحت ياريت لو تقدر تحلة ويبقى بردة ناقص ربط الصور االماخوذة الى قاعدة البيانات ومشكورا جدا
هذا الموضوع مغلق.