PDA

View Full Version : paste روی تکتس خارج از فرم



MehdiElexal
یک شنبه 13 مرداد 1392, 13:39 عصر
با سلام فرض یک وب سایت داریم میخوام حرف ذخیره شده در کلیپ بورد بعد از 5 ثانیه با تایمر کپی شه داخل تکتس باکس
قبل از انجام اینکار با موس روی تکتس باکس مورد نظر کلیک میشه فقط عمل ctrl+vکهpaste هست باید اجرا شه ممنون

MehdiElexal
یک شنبه 13 مرداد 1392, 14:01 عصر
بخدا یه control+v ساده میخوام !!!!

amir200h
یک شنبه 13 مرداد 1392, 14:18 عصر
private void txt_ICam_Tedad_Click(object sender, EventArgs e)
{
txttest.Text = Clipboard.GetText();
}

MehdiElexal
یک شنبه 13 مرداد 1392, 14:37 عصر
private void txt_ICam_Tedad_Click(object sender, EventArgs e)
{
txttest.Text = Clipboard.GetText();
}
برادر عزیز خب اگه اینو میخواستم که دیگه تو کلیپ بورد کپی نمیکردم دوتا تکتس باکس رو با هم مساوی میکردم ، میخوام یه متنی که داخل کلیپ بورد هست تو بروزر که با موس روش کلیک میشه paste بشه به تکتس باکس بروزر که دسترسی ندارم نمیخوامم داشته باشم ، میخوام تو کلیپ بورد کپی شه با تایمر بعد 5 ثانیه پیست بشه حالا تو اون 5 ثانیه با موس موو میرم رو تکتس بروزر فوکوس میکنم اونم که پیست کنه داخلش کپی میشه
ببینید عنوان پست هم پیست روی تکتس خارج از فرم هست
ولی بازم ممنون
کسی میتونه کمک دیگه ای کنه ؟

aliagamon
یک شنبه 13 مرداد 1392, 15:03 عصر
SendKeys.Send(Clipboard.GetText());


یه sleep بزار پشت این تمومه هم زندگی اسون میشه کلیپ بورد رو میریزه جایی که سکلت کردی(مثلا تو نتبد یا ورد و. ....)

aliagamon
یک شنبه 13 مرداد 1392, 15:28 عصر
من فکر کنم منظورتونو برعکس فهمیدم میخواین از سایت بریزین تو فرم یا از فرم به سایت؟:لبخند:
اگه برعکسه میتونین یه شرط بزارین که اگه کلیپ برد تغییر کرد متن کلیپ برد رو بریزه تو تکستباکس...
البته مجبوری یه جلقه بزاری که همیشه در حال اجرا هست(یا مثلا وقتی میزنه رو دکمه 5 ثانیه بعد پیست کنه)
اگه امکانش هست کاری که میخواین بکنید رو بیشتر توضیح بدین:اشتباه:

مهرداد صفا
یک شنبه 13 مرداد 1392, 18:10 عصر
با سلام.
شما باید ابتدا هندل کنترل مورد نظر را به دست بیاورید و سپس با استفاده از تابع SendMessage (http://msdn.microsoft.com/en-us/library/windows/desktop/ms644950%28v=vs.85%29.aspx) پیغام WM_PASTE (http://msdn.microsoft.com/en-us/library/windows/desktop/ms649028%28v=vs.85%29.aspx) را به آن ارسال کنید.
برای گرفتن هندل کنترلمیتوانی از تابع WindowFromPoint (http://msdn.microsoft.com/en-us/library/windows/desktop/ms633558%28v=vs.85%29.aspx) و یا GetFocus (http://msdn.microsoft.com/en-us/library/windows/desktop/ms646294%28v=vs.85%29.aspx) و یا FindWindowEX (http://msdn.microsoft.com/en-us/library/windows/desktop/ms633500%28v=vs.85%29.aspx) استفاده کنید.

MehdiElexal
دوشنبه 14 مرداد 1392, 12:12 عصر
رفقای عزیز من داخل برنامه 2 تا متن رو کپی میکنم با کلیپ برد به این صورت
اول یوزر نیم رو کلیپ برد کپی میشه مثلا علی
سپس موس موو میره روی فیلد یوزر نیم یک سایتی کلیک میکنه بعد که عمل کلیک انجام شد باید روی داد paste اجرا شه
سپس موس میره رو لوکیشن پسورد کلیک میکنه ، پسوردی که تو برنامه هست اینجا روی کلیپ برد ذخیره میشه و بعد از کلیک باید مجدد رویداد پیست انجام شه تا پسورد هم پیست شه روی فیلد پسورد
سپس مجدد موس موو میره روی ورود کلیک میکنه
این یک جور لاگین بدون اسکریپت نویسی هست
یعنی در دو مرحله یوزر و پسورد در کلیپ بورد کپی میشه و باید پیست شه روی جاهای مربوطه داخل سایتی که بروزرش داخل برنامه من نیست مثل اپرا ،فایر فاکس و ...
ممنون از اینکه کمک میکنید

MehdiElexal
دوشنبه 14 مرداد 1392, 12:18 عصر
با سلام.
شما باید ابتدا هندل کنترل مورد نظر را به دست بیاورید و سپس با استفاده از تابع SendMessage (http://msdn.microsoft.com/en-us/library/windows/desktop/ms644950%28v=vs.85%29.aspx) پیغام WM_PASTE (http://msdn.microsoft.com/en-us/library/windows/desktop/ms649028%28v=vs.85%29.aspx) را به آن ارسال کنید.
برای گرفتن هندل کنترلمیتوانی از تابع WindowFromPoint (http://msdn.microsoft.com/en-us/library/windows/desktop/ms633558%28v=vs.85%29.aspx) و یا GetFocus (http://msdn.microsoft.com/en-us/library/windows/desktop/ms646294%28v=vs.85%29.aspx) و یا FindWindowEX (http://msdn.microsoft.com/en-us/library/windows/desktop/ms633500%28v=vs.85%29.aspx) استفاده کنید.
نه عزیزم یه پیست ساده که این حرف ها رو نداره ، الان با موس موو کلیک راست میکنم بعد رو پیست کلیک میکنم پیست میشه
همه این عملیات با تایمر انجام میشه
کپی میشه تو کلیچ بورد لغت مورد نظر سپس باید رو نقطه مربوطه که موس کلیک میکنه پیست شه
حالا من کپی میکنم اما چون با پیست مشکل دارم یه کلیک راست میکنم بعد پیست رو انتخاب میکنم منتها انقدر سریع انجام میشه معلوم نمیشه موس کلیک راست کرده و رفته رو پیست ، ولی نمیخوام این کارو کنم میخوام همونطوری که تو کلیپ بورد کپی میشه همونطورم راحت پیست شه

aliagamon
دوشنبه 14 مرداد 1392, 13:59 عصر
از همون دستور SendKeys.Send استفاده کن دقیقا همین کارو میکنه بالا برات مثال زدم البته پشتش یه sleep بنویس چون تا اومده کلیک کنه اجرا میشه این خط و هیچ کار نمیکنه یه Sleep مثلا 5 ثانیه ای پشتش همه چیزو حل میکنه