ايران ويج

نسخه‌ی کامل: اجرا نشدن keybd_event vbKeyMenu در ویندوز 8.1
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام
برای گرفتن تصویر فرم در VB6  از keybd_event vbKeyMenu استفاده کردم ولی این دستور در ویندوز 8.1x64 اجرا نمیشه و با خذف این دستور تمام دسکتاپ ضبط میشه دوستان
برای رفع مشکل راهکاری دارند.

کد :

 keybd_event vbKeyMenu, 0, 0, 0
 DoEvents
 keybd_event vbKeySnapshot, 0, 0, 0
 DoEvents
 keybd_event vbKeySnapshot, 0, KEYEVENTF_KEYUP, 0
 DoEvents
 keybd_event vbKeyMenu, 0, KEYEVENTF_KEYUP, 0
من راه حل ندارم، ولی سوال دارم، برنامه های vb6 روی ویندوز 8 بالا میاد؟
(۱۳-آذر-۱۳۹۶, ۰۸:۲۶:۲۰)babyy نوشته است: [ -> ]من راه حل ندارم، ولی سوال دارم، برنامه های vb6 روی ویندوز 8 بالا میاد؟

ممنون
سلام بله حتی با ویندوز 10 ضمنا" تا حدوی متوجه شدم  مشکل قبلی یه جورائی مربوط به اکتیو بودن پنجره میشه حتی اگه تنها پنجره تو دسکتاپ باشه ظاهرا نمیتونه تشخیص بده چون
از شرط اکتیو بودن عبور میکنه . if activewindos then همیشه بصورت false هست
(۱۳-آذر-۱۳۹۶, ۰۸:۲۶:۲۰)babyy نوشته است: [ -> ]من راه حل ندارم، ولی سوال دارم، برنامه های vb6 روی ویندوز 8 بالا میاد؟

جناب babyy مشکل تا حدود زیادی حل شد. ابتدا باید توسط برنامه ورژن ویندوز تعیین بشه و بعد با یک دستور شرطی برای ویندوزهای بالاتر اون صفر اول snapshot عدد یک منظور بشه که من این شرط رو 4 گذاشتم و در xp و ویندوز 8.1 اجرا شد. فقط حتما" باید برنامه از طریق run as administrator اجرا بشه در غیر این صورت تصویر ضبط نمیشه.
  keybd_event vbKeySnapshot, 1, 0, 0