تور لحظه آخری
امروز : شنبه ، 15 دی 1403    احادیث و روایات:  امام جواد (ع):مؤمن نيازمند سه چيز است: توفيقى از پروردگار، پند دهنده اى از درون خويش و پذيرش از نصيح...
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

صرافی ارکی چنج

صرافی rkchange

سایبان ماشین

دزدگیر منزل

اجاره سند در شیراز

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

پی جو مشاغل برتر شیراز

خرید یخچال خارجی

موسسه خیریه

واردات از چین

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

دریافت دیه موتورسیکلت از بیمه

طراحی سایت تهران سایت

irspeedy

درج اگهی ویژه

تعمیرات مک بوک

دانلود فیلم هندی

قیمت فرش

درب فریم لس

خرید بلیط هواپیما

بلیط اتوبوس پایانه

تعمیرات پکیج کرج

لیست قیمت گوشی شیائومی

خرید فالوور

پوستر آنلاین

بهترین وکیل کرج

بهترین وکیل تهران

خرید از چین

خرید از چین

تجهیزات کافی شاپ

خرید سرور اچ پی ماهان شبکه

کاشت ابرو طبیعی و‌ سریع

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

لوله و اتصالات آذین

قرص گلوریا

نمایندگی دوو در کرج

دوره آموزش باریستا

مهاجرت به آلمان

بورس کارتریج پرینتر در تهران

تشریفات روناک

نوار اخطار زرد رنگ

ثبت شرکت فوری

تابلو برق

خودارزیابی چیست

فروشگاه مخازن پلی اتیلن

قیمت و خرید تخت برقی پزشکی

کلینیک زخم تهران

خرید بیت کوین

خرید شب یلدا

پرچم تشریفات با کیفیت بالا و قیمت ارزان

کاشت ابرو طبیعی

پرواز از نگاه دکتر ماکان آریا پارسا

پارتیشن شیشه ای اداری

اقامت یونان

خرید غذای گربه

رزرو هتل خارجی

تولید کننده تخت زیبایی

مشاوره تخصصی تولید محتوا

سی پی کالاف

دوره باریستا فنی حرفه ای

چاکرا

استند تسلیت

تور بالی نوروز 1404

سوالات لو رفته آیین نامه اصلی

کلینیک دندانپزشکی سعادت آباد

پی ال سی زیمنس

دکتر علی پرند فوق تخصص جراحی پلاستیک

تجهیزات و دستگاه های کلینیک زیبایی

 






آمار وبسایت

 تعداد کل بازدیدها : 1850171293




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

سوال درباره کلاس my.computer.keyboard


واضح آرشیو وب فارسی:سایت ریسک: View Full Version : سوال درباره کلاس my.computer.keyboard ahsanjan04-07-2008, 11:16 PMسلام من نمی دونم چطور در ویژوال بیسیک 2008 کلید capslock را روشن کنم می تونم بفهمم که روشن هست یا نه ولی نمی تونم روشنش کنم با این کد می فهمم روشن هست یا نه !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! _H2_05-07-2008, 12:14 AMسلام !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! ahsanjan05-07-2008, 11:37 AMاگر می شود یک کمی در باره این قسمت و کاربرد کارهای آن توضیح دهید If Not System.Console.CapsLock Then keybd_event(20, 0, 0, 0) keybd_event(20, 0, 2, 0) End If آیا می شود در بین کدهای VB.NET از اسمبلی و C++ هم استفاده کرد یا حداقل یک کدام را _H2_05-07-2008, 09:15 PMسلام دستور System.Console.CapsLock با My.Computer.Keyboard.CapsLock برابر است! کلاسسهای فضای نام My معمولاً مختص VB.Net هستند و برای راحتی برنامه نویسان قدیمی VB 6 در نظر گرفته شده اند، یعنی در بقیه زبانهای دات نتی این گزینه ها در دسترس نیستند، تقریباً همه این کلاسها و توابع معادلهای رسمی در کلاسهای اصلی فریم ورک دارند. و به نظر من بهتر است با توابع عمومی کار کرد تا به جای VB.Net کار بودن، دات نت کار باشید! و بتوانید در زبانهای دیگر هم به راحتی کار کنید. تابع keybd_event هم رویدادهای کیبور را شبیه سازی میکند، و پارامتر اول و سومش مهم است. -پارامتر اول کد کلید است، که کد CapsLock عدد 20 است. میتوانید از کدهای موجود در System.Windows.Forms.Keys استفاده کنید. -پارامتر سوم هم مشخص کننده رویداد است، صفر به معنی فشرده شدن کلید و 2 به معنی رها شدن کلید است. در کل ما چک میکنیم و اگر CapsLock خاموش باشد یک بار فشرده شدن و رها شدن آنرا شبیه سازی میکنیم. !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! آیا می شود در بین کدهای VB.NET از اسمبلی و C++ هم استفاده کرد یا حداقل یک کدام را مستقیماً قابلانجام نیست ولی راههایی دارد، اصلی ترین راه ساخت dll در زبان دیگر و فراخانی از داخل VB.Net است. همین keybd_event در واقع کدی به زبان ++VC است که در کتابخانه user32.dll در محل system32 مستقر است. خود شما هم میتوانید با ++VC و یا VAsm یک dll بسازید، که البته بسته به نوع dll استفاده از ان هم فرق میکند. user32.dll یک Dynamic-Link Library است (یعنی نوع پایه ای و ابتدایی dll ها) ولی الآن dll ها انواع مختلف دارند و دیگر در عبارت Dynamic-Link Library نمیگنجند. اگر زبان دیگر دات نتی باشد مثل VC++.Net و یا C#.Net با کمی دردسر و دقت و کمی پیچیدگی با کامپایلهای خط فرمانی میتوان بدون ساخت یک dll دیگر هم از کدهای هم استفاده کرد. ولی در کل لزومی این کارها نیست، شما در برنامه های مرسوم با دات نت کم نخواهید آورد که محتاج به دیگر زبانها شوید... اگر هم میبینید ما الآن از user32.dll استفاده کردیم به خاطر این است که در ویندوز این فایل مدیر تمام بخش های رابط کاربری میباشد، و تا زمانی که در ویندوز هستید باید بالاجبار تمام فرامینی که به نوعی با رابط کاربری سروکار دارند، به این dll ارجاع شوند. ahsanjan05-07-2008, 10:37 PMخیلی ممنون ولی آیا در msdn جایی هست که این api ها را توضیح دهد مثل همین لطفا یک کلمه بگویید تا من در msdn مکان آموزش api ها را پیدا کنم ahsanjan07-07-2008, 12:00 PMبا سلام آقای h2 یا هر کس دیگری که می تواند جواب من را بدهد من رفتم تو سایت مایکروسافت مثال های vb.net را دانلود کردم به یک مشکل برخورد کردم یک اینکه در این کد متد invalidate به چدر د می خورد و اصلا کارش چیست Public Property BeadColor() As System.Drawing.Color Get Return privateBeadColor End Get Set(ByVal value As System.Drawing.Color) privateBeadColor = value Me.Invalidate() End Set End Property Public Property BeadOutlineColor() As System.Drawing.Color Get Return outlineColor End Get Set(ByVal value As System.Drawing.Color) outlineColor = value Me.Invalidate() End Set End Property دو اینکه در این عکس چرا imports microsoft.ink زیرش خط می کشد ویرایشگر http://www.persianupload.com/files/fu7x549hsfodki7qkwy9.png _H2_13-07-2008, 12:18 AMسلام خیلی ممنون ولی آیا در msdn جایی هست که این api ها را توضیح دهد مثل همین لطفا یک کلمه بگویید تا من در msdn مکان آموزش api ها را پیدا کنم api های ویندوز یکی و دو تا نیست که بتوان آنها را در یک نقطه مجتمع کرد، البته مجتمع است ولی آن محل اجتماع خود msdn است. شما میتوانید با برنامه هایی مثل depends.exe لیست api های یک dll را در اورید و اگر آن dll جزء اجزای اصلی ویندوز مایکروسافت باشد میتوانید نام api را در msdn بزنید تا توضیحاتش را پیدا کنید. مثلاً keybd_event را بزنید تا توضیحات و پارامترها و... را پیدا کنید. البته اگر انگلیسی تان قوی تر باشد میتوانید از سرچ msdn هم برای یافتن api مورد نظر استفاده کنید. با invalidate به چدر د می خورد و اصلا کارش چیست تصویر کنترل را نا معتبر میکند و در پیغام رسم مجدد را به کنترلر صادر میکند، یک چیز تو مایه های Refresh تصویر کنترلر که برروی مانیتور دیده میشود. دو اینکه در این عکس چرا imports microsoft.ink زیرش خط می کشد ویرایشگر شما dll مربوطه را به Refrence ها اضافه نکرده اید، در اصل VS از محل و موقعیت فایل مربوطه آگاه نیست. Project->Add Refrence->Browse شاید بتوانید در یکی از مسیرهای زیر و یا زیر پوشه هایشان فایل مربوطه را مییابید. C:Program FilesCommon Filesmicrosoft sharedink C:Program FilesReference AssembliesMicrosoftTablet PC ahsanjan13-07-2008, 11:09 AMببخشید این کلمه را که وارد می کنم نمی آید عکس را ببینید http://i38.tinypic.com/25k4z9e.png _H2_14-07-2008, 12:49 AMسلام عزیز جان، شما Filter تایین کرده اید، گزینه Visual Basic را به unfiltered تغییر دهید، تا msdn شرطی برای نمایش نگذارد. چون این مطالب فراتر از آن است که مربوط به یک زبان خاص شود و توضیحات api ها، هم فقط بر پایه مبنای C++ Native است. ahsanjan15-07-2008, 06:55 AMمن می خواستم برنامه ای بنویسم که وقتی اجرامی شود متن درون textbox الون انتخاب شود و با استفاده از فشرده شدن همزمان دو کنترول ctrl و c کپی شود بدون دخالت من و فقط باکد و این کدها را نوشتم ولی نمی دانم چرا کپی نمی شود مشکلشان چیست Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer) Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load TextBox1.SelectAll() keybd_event(Keys.ControlKey, 0, 0, 0) keybd_event(Keys.C, 0, 0, 0) keybd_event(Keys.C, 0, 2, 0) keybd_event(Keys.ControlKey, 0, 2, 0) End Sub _H2_16-07-2008, 01:45 AMسلام برای همچین کاری خود دات نت راه حل هایی دارد شما میتوانید با کمک تابع System.Windows.Forms.SendKeys.Send عمل تایپ در برنامه های دیگر را انجام دهید و نیازی هم به copy و paste نیست (گرچه میتوانید). ahsanjan16-07-2008, 05:21 AMممنون ولی من می خواستم بدانم همین کدیکه من نوشتم چه اشکالی دارد و فقط می خواست بدانم دو دکمه را در یک زمان گرفتن چه جوری اگر می شود بگویید مثلا alt و ctrl را چه جوری در یک زمان فشار دهیم از طریق کد _H2_16-07-2008, 02:08 PMسلام اگر قصد فهمیدن ایراد کد قبلی تان باشد میتوانم سه نکته را متذکر شوم. 1- ایراد اصلی، درج کد در رویداد Load است که این رویداد قبل از نمایش فرم اتفاق میافتد که چیزی برای کپی و اعمال کیبورد وجود ندارد. راه حل: از رویداد Shown یا Click و ... استفاده کنید که بعد از نمایش پنجره اتفاق می افتد. 2- شما باید مطمئن شوید که TextBox مورد نظر حتماً فوکس را داشته باشد و گرنه در همه شرایط کد فوق جواب نمیدهد. راه حل: Me.TextBox1.Focus 3- بهتر است گزینه Option Strict را در برنامه هایتان فعال کنید و عادت کنید به تبدیلات صریح، مثل زبان C، و در این مورد خاص مثلاً از دستور CByte هم استفاده کنید، گرچه تفاوتی در نهایت ندارد، ولی این عادت پسندیده میتواند جلوی بروز بسیاری از خطاها و حواس پرتی ها را بگیرد. معادل چهار خط کد کلیدی تایپی شما در دات نت این است! !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! اگر هم قصد صرف شبیه سازی دکمه های کیبورد نباشد، برای کپی تک دستور Me.TextBox1.Copy که همیشه هم جواب میدهد، بسیار مناسب تر است. موفق باشید. ahsanjan16-07-2008, 03:55 PMممنون حل شد همان طور که شما گفتید در رویداد کلیک گذاشتم سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 1453]

bt

اضافه شدن مطلب/حذف مطلب




-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن