تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 1 از 2 12 آخرآخر
نمايش نتايج 1 به 10 از 14

نام تاپيک: سوال درباره کلاس my.computer.keyboard

  1. #1
    داره خودمونی میشه
    تاريخ عضويت
    Sep 2007
    پست ها
    119

    پيش فرض سوال درباره کلاس my.computer.keyboard

    سلام من نمی دونم چطور در ویژوال بیسیک 2008 کلید capslock را روشن کنم می تونم بفهمم که روشن هست یا نه ولی نمی تونم روشنش کنم
    با این کد می فهمم روشن هست یا نه
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  2. #2
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  3. #3
    داره خودمونی میشه
    تاريخ عضويت
    Sep 2007
    پست ها
    119

    پيش فرض

    اگر می شود یک کمی در باره این قسمت و کاربرد کارهای آن توضیح دهید
    If Not System.Console.CapsLock Then
    keybd_event(20, 0, 0, 0)
    keybd_event(20, 0, 2, 0)
    End If
    آیا می شود در بین کدهای VB.NET از اسمبلی و C++ هم استفاده کرد یا حداقل یک کدام را
    Last edited by ahsanjan; 05-07-2008 at 17:03.

  4. #4
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    دستور System.Console.CapsLock با My.Computer.Keyboard.CapsLock برابر است!
    کلاسسهای فضای نام My معمولاً مختص VB.Net هستند و برای راحتی برنامه نویسان قدیمی VB6 در نظر گرفته شده اند، یعنی در بقیه زبانهای دات نتی این گزینه ها در دسترس نیستند، تقریباً همه این کلاسها و توابع معادلهای رسمی در کلاسهای اصلی فریم ورک دارند.
    و به نظر من بهتر است با توابع عمومی کار کرد تا به جای 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 ارجاع شوند.

  5. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  6. #5
    داره خودمونی میشه
    تاريخ عضويت
    Sep 2007
    پست ها
    119

    پيش فرض

    خیلی ممنون ولی آیا در msdn جایی هست که این api ها را توضیح دهد مثل همین لطفا یک کلمه بگویید تا من در msdn مکان آموزش api ها را پیدا کنم
    Last edited by ahsanjan; 05-07-2008 at 21:42.

  7. #6
    داره خودمونی میشه
    تاريخ عضويت
    Sep 2007
    پست ها
    119

    پيش فرض

    با سلام آقای h2 یا هر کس دیگری که می تواند جواب من را بدهد من رفتم تو سایت مایکروسافت مثال های vb.net را دانلود کردم به یک مشکل برخورد کردم یک اینکه در این کد متد invalidate به چدر د می خورد و اصلا کارش چیست
    PublicProperty BeadColor() As System.Drawing.Color
    Get
    Return privateBeadColor
    EndGet
    Set(ByVal value As System.Drawing.Color)
    privateBeadColor = value
    Me.Invalidate()
    EndSet
    EndProperty
    PublicProperty BeadOutlineColor() As System.Drawing.Color
    Get
    Return outlineColor
    EndGet
    Set(ByVal value As System.Drawing.Color)
    outlineColor = value
    Me.Invalidate()
    EndSet
    EndProperty
    دو اینکه در این عکس چرا imports microsoft.ink زیرش خط می کشد ویرایشگر
    Last edited by ahsanjan; 07-07-2008 at 11:03.

  8. #7
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    خیلی ممنون ولی آیا در 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 Files\Common Files\microsoft shared\ink
    C:\Program Files\Reference Assemblies\Microsoft\Tablet PC

  9. #8
    داره خودمونی میشه
    تاريخ عضويت
    Sep 2007
    پست ها
    119

    پيش فرض

    ببخشید این کلمه را که وارد می کنم نمی آید عکس را ببینید

  10. #9
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    عزیز جان، شما Filter تایین کرده اید، گزینه Visual Basic را به unfiltered تغییر دهید، تا msdn شرطی برای نمایش نگذارد.
    چون این مطالب فراتر از آن است که مربوط به یک زبان خاص شود و توضیحات api ها، هم فقط بر پایه مبنای C++ Native است.

  11. #10
    داره خودمونی میشه
    تاريخ عضويت
    Sep 2007
    پست ها
    119

    پيش فرض

    من می خواستم برنامه ای بنویسم که وقتی اجرامی شود متن درون textbox الون انتخاب شود و با استفاده از فشرده شدن همزمان دو کنترول ctrl و c کپی شود بدون دخالت من و فقط باکد و این کدها را نوشتم ولی نمی دانم چرا کپی نمی شود مشکلشان چیست
    PrivateDeclareSub keybd_event Lib"user32" (ByVal bVk AsByte, ByVal bScan AsByte, ByVal dwFlags AsInteger, ByVal dwExtraInfo AsInteger)
    PrivateSub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.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)
    EndSub

صفحه 1 از 2 12 آخرآخر

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •