PDA

View Full Version : مشکل با کلیپ برد



omid-vbAuto
شنبه 12 شهریور 1390, 19:31 عصر
سلام (اوریبادی):چشمک:

من از کد زیر برای عکس برداری از دسکتاپ استفاده می کنم.اما در دفعه اول اجرای کد عکس وارد پیکچر باکس نمیشه!!! و در دفعه دوم اجرای برنامه عکس مرحله اول وارد پیکچر باکس میشه .علتش چی میتونه باشه؟


SendKeys.Send("{PRTSC}")
System.Threading.Thread.Sleep(250)
PictureBox1.Image = Clipboard.GetImage

alimanam
شنبه 12 شهریور 1390, 19:44 عصر
من از کد زیر برای عکس برداری از دسکتاپ استفاده می کنم.اما در دفعه اول اجرای کد عکس وارد پیکچر باکس نمیشه!!! و در دفعه دوم اجرای برنامه عکس مرحله اول وارد پیکچر باکس میشه .علتش چی میتونه باشه؟ناقابل یه 250 تا دیگه بهش اضافه کن درست میشه :قهقهه:

SendKeys.Send("{PRTSC}")
System.Threading.Thread.Sleep(500) ' :-D
PictureBox1.Image = Clipboard.GetImage
End Sub

موفق باشی ./

omid-vbAuto
شنبه 12 شهریور 1390, 20:07 عصر
علی جون نقل 250 یا 500 تا نییییی.نگا:

74782

alimanam
شنبه 12 شهریور 1390, 20:13 عصر
علی جون نقل 250 یا 500 تا نییییی.نگا:

والا رو سیستم من درست کار میکنه خواستی بیا رو سیستمم نگاه کن !!!

omid-vbAuto
شنبه 12 شهریور 1390, 20:17 عصر
سایر دوستان هم ممکنه نظرشونو اعلام کنند.

ArashRoshan
شنبه 12 شهریور 1390, 21:05 عصر
سلام
من هم مشکل داشتم ، ولی درستش کردم ، برات میفرستم ، فایل sln.* رو باز نکن ، چون ورژن مال من 2010 است ولی برو فایل vbproj.* رو در داخل فولدر WindowsApplication24 رو باز کن تا با ورژنش مشکل نداشته باشی .
74793

omid-vbAuto
شنبه 12 شهریور 1390, 21:23 عصر
سلام
من هم مشکل داشتم ، ولی درستش کردم ، برات میفرستم ، فایل sln.* رو باز نکن ، چون ورژن مال من 2010 است ولی برو فایل vbproj.* رو در داخل فولدر WindowsApplication24 رو باز کن تا با ورژنش مشکل نداشته باشی .
74793

کارتون عالیه .میشه توضیحات کاملی در مورد قطعه کدهای زیر بدین :

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)


و همین طور :



Call keybd_event(System.Windows.Forms.Keys.Snapshot, 0, 0, 0)

ArashRoshan
شنبه 12 شهریور 1390, 23:12 عصر
سلام
من از API استفاده کردم که باعث می شه تقریبا هرکاری با Dll های خود ویندوز انجام بدی !!!!!!!!!! من اینجا فایل User32.dll رو فراخوانی کردم و قابلیت های اون استفاده کردم ، حالا خودت چگونگی استفاده از API در دات نت رو جست و جو کنی همه چیز رو می فهمی . موفق باشی .

ArashRoshan
شنبه 12 شهریور 1390, 23:15 عصر
اون System.Windows.Forms.Keys.Snapshot هم همون دکمه ی Print Screen خودمونو نشون میده دیگه !!!!:لبخندساده:

omid-vbAuto
شنبه 12 شهریور 1390, 23:45 عصر
اون System.Windows.Forms.Keys.Snapshot هم همون دکمه ی Print Screen خودمونو نشون میده دیگه !!!!:لبخندساده:

خوب اون سه تا صفر برا چی هست؟

بطور مثال دکمه Enter کدش چی میشه؟ و یا کنترل و یا شیفت و .....؟

در ضمن چون شما از API استفاده کردین فقط تو سیستم عامل های ماکروسافت کار میکنه؟ مثلا تو لینوکس هم میشه از این API بهره گرفت و یا مکینتاژ و مشکینتاژ اینها چطور؟

omid-vbAuto
شنبه 12 شهریور 1390, 23:47 عصر
سلام
من از API استفاده کردم که باعث می شه تقریبا هرکاری با Dll های خود ویندوز انجام بدی !!!!!!!!!! من اینجا فایل User32.dll رو فراخوانی کردم و قابلیت های اون استفاده کردم ، حالا خودت چگونگی استفاده از API در دات نت رو جست و جو کنی همه چیز رو می فهمی . موفق باشی .

با توجه به گفته هاتون شما User32.dll رو فراخوانی کرده و از قابلیت کلید پرینت اسکرینش استفاده کردین.حالا علاوه بر این ، User32.dll چه قابلیت های دیگه ای میتونه داشته باشه؟

ArashRoshan
یک شنبه 13 شهریور 1390, 12:39 عصر
سلام دوباره
هر چیزی که پرسیدی جوابش توی این سایته :

http://msdn.microsoft.com/en-us/library/aa383688

میری داخل ، می بینی تمام توابع API رو لیست کرده ، هر کدومو که باز کنی نحوه ی استفاده رو بهت می گه ، حالا وقتی رفتی تو نگی یک وقت این که C++ نوشته ، دوباره کیلویی جواب داد :عصبانی:!! باید هر نوع متغیری رو که می خوای تو وی بی استفاده کنی رو تبدیل کنی مثلا Byte همون Byte ، بعد DWord یعنی Integer ، هر تبدیلی که خواستی بری تو گوگل بزی بهت می گه . !!!!

ArashRoshan
یک شنبه 13 شهریور 1390, 12:42 عصر
می خوای تو VB.net استفاده کنی ، همون مثله من عمل کن ، اگه توی اون سایتی که گفتم ، keybd_event رو بگردی ، کد زیر رو میبینی ،
VOID WINAPI keybd_event(
__in BYTE bVk,
__in BYTE bScan,
__in DWORD dwFlags,
__in ULONG_PTR dwExtraInfo
);

بعد باید بری پایین همون صفحه DLL مربوطه رو نوشته که مال این تابع User32 هستش ، بعد تبدیلش میکنی به این :

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)

حالا مقدار دهیش رو هم توی همون سایت می نویسه (زیر تعریف هرنوع متغیر).

omid-vbAuto
یک شنبه 13 شهریور 1390, 21:31 عصر
سلام دوست عزیز مشکل اصلی من تو قطعه کد زیره:

Call keybd_event(System.Windows.Forms.Keys.Snapshot, 0, 0, 0)





اگه به اون سایت نگاه کرده باشین حرفی از کد زیر نیاورده:این قطعه کد رو از کجا آوردین؟


System.Windows.Forms.Keys.Snapshot


همچنین معنا و مفهوم این سه تا صفر چی هستش؟ آیا می تونستیم اعداد دیگه ای رو بنویسیم؟

0و0و0


تو اون سایتی هم که ادرس دادین در مقابل کلید Print screen این رو نوشته:؟؟ حالا این دو تا علامت سوال چه دردی رو دوا می کنند؟


Print Screen ??



حالا تو این سایت از این چه استفاده میشه برد مثلا:

Numeric Enter E0 1C

omid-vbAuto
دوشنبه 14 شهریور 1390, 20:11 عصر
سلام-نمی خوام off بذارم ولی یکی جواب بده دیگه.