نمایش نتایج 1 تا 4 از 4

نام تاپیک: مشکل با SendKeys

  1. #1
    کاربر جدید آواتار sa.mousavi
    تاریخ عضویت
    تیر 1388
    محل زندگی
    کرمان دل عالم است و ما، اهل دلیم!
    سن
    32
    پست
    12

    مشکل با SendKeys

    سلام.

    من یه برنامه نوشتم که فوکوس می کنه روی یه پنجره و با فرمان SendKeys یه رشته رو اونجا وارد می کنه. اما مشکل اینه که از هر کاراکتر چندتا (به تعداد نامعلوم) وارد می کنه! مثلا:

    SendKeys.Send("Ali");
    رو که می دم متنی که وارد میشه اینجوریه:


    AAAAAAlllllliiiiiiiii
    مشکل مال چی می تونه باشه؟

    سیستم عاملم Win 7 هست.

  2. #2
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: مشکل با SendKeys

    از sendmessage استفاده کن.

  3. #3
    کاربر جدید آواتار sa.mousavi
    تاریخ عضویت
    تیر 1388
    محل زندگی
    کرمان دل عالم است و ما، اهل دلیم!
    سن
    32
    پست
    12

    نقل قول: مشکل با SendKeys

    ممنون، میشه یه رشته رو به عنوان پارامتراش قرار داد؟ ممنون میشم اگه یه نمونه کوتاه ازش رو برام بذاری.

  4. #4
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: مشکل با SendKeys

    توی یه کد فایل:
    namespace Win32API
    {
    public class Windows
    {
    const int WM_SETTEXT = 12;
    const int WM_KEYDOWN = 256;
    const int WM_KEYUP = 257;
    [DllImport("user32.dll", EntryPoint = "SendMessageA")]
    private static extern bool SetControlTextSendMessage(Int32 hWnd, Int32 wMsg, Int32 wParam, string lParam);
    public static void SetControlText(System.Windows.Forms.IWin32Window Control, string Text)
    {
    SetControlTextSendMessage(Control.Handle.ToInt32() , WM_SETTEXT, 0, Text);
    }
    public static void SetControlText(System.Windows.Forms.TextBoxBase Control, string Text)
    {
    SetControlTextSendMessage(Control.Handle.ToInt32() , WM_SETTEXT, 0, Control.Text.Substring(0, Control.SelectionStart) + Text + Control.Text.Substring(Control.SelectionStart + Control.SelectionLength));
    }
    }
    }

    توی فرم Load :
                txtbox1.Text="AB";
    Win32API.Windows.SetControlText(this, "Hello");
    txtbox1.SelectionStart = 0; Win32API.Windows.SetControlText(this.txtbox1, "1");
    txtbox1.SelectionStart = 2; Win32API.Windows.SetControlText(this.txtbox1, "2");
    txtbox1.SelectionStart = 4; Win32API.Windows.SetControlText(this.txtbox1, "3");
    آخرین ویرایش به وسیله FastCode : دوشنبه 28 دی 1388 در 14:20 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •