ورود

View Full Version : پیدا کردن محل چشمک زن



vb_nima
سه شنبه 02 خرداد 1385, 19:03 عصر
با سلام
اگه دوستان کسی تابعی از توابع api را می شناسه که با اون میشه مختصات محل چشمک زن را در دسکتاپ بدست آورد (مثلا در هنگام وارد کردن متن در یک ادیت) لطفا معرفی کنه یا توضیح یده چطوری میشه این کار را کرد. البته فکر بد نکنید برای نرم افزار هایی مثل جاسوسهای کیبورد نمی خوام .

sinpin
سه شنبه 02 خرداد 1385, 22:13 عصر
من فکر میکنم : شما باید توی یک تایمر همیشه هندل فرم اکتیو رو بگیری و کنترل های روی اون رو اسکن کنی و هندل هر کدوم که از نوع textbox بود رو بدست بیارید و با text اون کار کنی. (با api میتونید)

من یه زمانی برای ساخت یک دیکشنری میخواستم اینکار و انجام بدم (البته بصورت کاملتر و همراه با پشتیبانی از ocr) ولی به دلایلی قرارداد منحل شد !

sinpin
سه شنبه 02 خرداد 1385, 22:16 عصر
و البته یه راهی هم پیدا کردم که وقتی یک text رو select میکردید بلافاصله اون رو توی clipboard کپی میکرد و بعد من توی دیکشنری نشون میدادم (البته این یکی بدون استفاده از تایمر بود). فکر کنم با postmessage اینکارو کردم (دقیقا یادم نیست)

Payman62
سه شنبه 02 خرداد 1385, 22:26 عصر
این ای پی آی GetForegroundWindow هندل پنجره دارای فوکوس را میده.

loads
چهارشنبه 12 تیر 1387, 02:13 صبح
و البته یه راهی هم پیدا کردم که وقتی یک text رو select میکردید بلافاصله اون رو توی clipboard کپی میکرد و بعد من توی دیکشنری نشون میدادم (البته این یکی بدون استفاده از تایمر بود). فکر کنم با postmessage اینکارو کردم (دقیقا یادم نیست)

من مدتهاست دنبال همچین چیزی هستم ، حتی تو همین سایت یه تاپیک زدم ولی نتیجه ای نداشت میشه این روش رو توضیح بددید

sinpin
جمعه 14 تیر 1387, 01:11 صبح
من مدتهاست دنبال همچین چیزی هستم ، حتی تو همین سایت یه تاپیک زدم ولی نتیجه ای نداشت میشه این روش رو توضیح بددید
+ پيام خصوصي :

پست پنجم
http://barnamenevis.org/forum/showthread.php?t=46610

متاسفانه من اون مورد رو فراموش كردم اما با جستجويي مانند زير، بايد سرنخي بدست بياوريد:
http://www.google.com/search?hl=en&q=copy+selected+text+clipboard&btnG=Search

ALI TT
جمعه 14 تیر 1387, 03:24 صبح
توی تایمر بنویس


If TextBox1.Text <> "" Then

My.Computer.Clipboard.SetText(TextBox1.Text)

'.......

End If

sinpin
جمعه 14 تیر 1387, 10:53 صبح
توی تایمر بنویس


If TextBox1.Text <> "" Then

My.Computer.Clipboard.SetText(TextBox1.Text)

'.......

End If
دوست عزيز شما سئوال رو متوجه نشديد.

ALI TT
جمعه 14 تیر 1387, 16:25 عصر
دوست عزيز شما سئوال رو متوجه نشديد.

دقیقا حق با شماست ..... هواسم نبود !

مهران رسا
جمعه 14 تیر 1387, 17:25 عصر
فکر کنم توسط :


Private Declare Function GetCaretPos Lib "user32" (lpPoint As POINTAPI) As Long

بشه این کار رو کرد ...

loads
شنبه 15 تیر 1387, 00:20 صبح
فکر کنم توسط :


Private Declare Function GetCaretPos Lib "user32" (lpPoint As POINTAPI) As Long

بشه این کار رو کرد ...


چجوري دوست عزيز ؟

majjjj
شنبه 15 تیر 1387, 07:33 صبح
ببین دوست عزیز مختصات موس روی صفحه نمایش یک مختصات روی محور xوy هست برای اینکه مختصات موس رو بدست بیاری باید یک همچین مختصاتی رو بگیری یک چیزی شبیه به (3و8 )تو ریاضی
برای این کار هم شما باید یک متغیر از نوع POINTAPI بگیری که اینجوری تعریف میشه
Public Type POINTAPI
x As Long
y As Long
End Type
Public Declare Function GetCursorPos Lib "user32.dll" (lpPoint As POINTAPI) As Long


lpPoint : اين بافر توسط تابع مقدار دهي مي شود و حاوي مختصات ماوس از نوع POINTAPI خواهد بود
البته اگه بخواهی مرتبا مختصات موس رو داشته باشی اون رو تو یک تایمر بزار

loads
دوشنبه 17 تیر 1387, 14:13 عصر
majjjj عزيز ما درباره مختصات موس صحبتي نكرديم !