ورود

View Full Version : سوال: پیست کردن در هرجای ویندوز



fr33m4n
سه شنبه 14 خرداد 1392, 11:43 صبح
با عرض سلام و احترام

من برای این سوالی که دارم خیلی گشتم تو سایت چیزی پیدا نکردم ، شاید هم بوده من ندیدم

دنبال یه تابع یا یک کد می گردم که جایگزین ctrl + v کنم (البته به جز تابع ..sendkeys؛)

راه حل های دیگه رو استفاده کردم ولی همه ی اونها باید مکانی که می خوای پیست کنی رو مشخص کنی
ولی من می خوام هرجا که بود پیست کنه ، مثل sendkeys که مکانی که می خوای پیست کنی رو به عنوان پارامتر ازت نمی خواد ، اما من می خوام از تابع یا کدی به جز sendkeys استفاده کنم ولی مثل sendkeys عمل کنه... با تشکر

m.4.r.m
دوشنبه 20 خرداد 1392, 12:46 عصر
خوب وقتی این همه گشتی و جواب نگرفتی لابد همچین چیزی یکم ممکن نیست دیگه انگار یه لیوان آب پر می کنی برای خوردن میگی دوست دارم همه جا بریزم اما تشنه نمونم . یکم منطقی نیست وقتی می خوای عمل پیست انجام بدی باید محل مشخص باشه تا ویندوز بتونه این کارو براتون انجام بده

محسن واژدی
دوشنبه 20 خرداد 1392, 14:20 عصر
سلام علیکم
از APIی keybd_event یا از SendKeys موجود در کلاس WScript.Shell استفاده کنید، این نام ها رو در انجمن جستجو کنید

keybd_event:
http://barnamenevis.org/showthread.php?304143-%D8%AA%D8%A7%DB%8C%D9%BE-%DA%A9%D8%B1%D8%AF%D9%86-%D8%AF%D8%B1-%D8%AA%DA%A9%D8%B3%D8%AA-%D8%A8%D8%A7%DA%A9%D8%B3-web-browser&p=1336401&viewfull=1#post1336401

WScript.Shell.SendKeys:
Private Sub Timer1_Timer()
Dim CShell
Set CShell = CreateObject("WScript.Shell")
Call CShell.SendKeys("^V", True)
Set CShell = Nothing
End Sub


البته بهینه تر این است که اعلان Dim CShell را در بالای فرم، دستور Set CShell = CreateObject("WScript.Shell") را در رویداد Form_Load (تنهایکبار WScript ایجاد شود) و Set CShell = Nothing را در Form_Unload قرار دهید

موفق باشید