PDA

View Full Version : نوشته زير موس



ghasemshami
چهارشنبه 01 آبان 1387, 19:21 عصر
با سلام خدمت برنامه نويسان عزيز
من يك نمونه برنامه يا راهنمايي مي خوام كه نوشته زير مكاني كه موس قرار گرفته را داخل اديت برنامه ام بريزم.
يعني وقتي موس رفت روي my computer داخل اديت برنامه ام بنويسد my computer
لطفا مرا راهنمايي كنيد نياز شديد به اين سوال دارم براي تكميل پرو‍ه دانشجويي ام ديگه وقتي ندارم

Pr0grammer
چهارشنبه 01 آبان 1387, 20:56 عصر
منظوره دوستمون احتمالاً متن tooltip هستش!
متاسفانه من اطلاعی از این کار ندارم! اما فکر می کنم که باید از API استفاده کنی! من توی سایت چند تا منبع API که کلی API با توضیحاتشون (فارسی) بود، دانلود کرده بودم! سرچ کنی، پیدا میشه! اگه پیدا نکردی بگوو واست بزارم.

موفق باشید

Mahmood_M
چهارشنبه 01 آبان 1387, 22:12 عصر
برای این کار باید هندل پنجره رو بگیرید و با استفاده از هندل گرفته شده متن موجود در اون رو استخراج کنید
برای اینکه نوشته زیر موس رو بگیرید باید هندل کنترلی که موس روی اون قرار داره رو بدونید ، برای این کار از تابع WindowFromPoint استفاده کنید ، یعنی اینطوری :


var
hwnd : THandle;
CPos : TPoint;
begin
GetCursorPos(CPos);
hwnd := WindowFromPoint(CPos);
بعد که مقدارش رو گرفتید باید به اون هندل یک Message ارسال کنید و نوشته روش رو بگیرید ، برای این کار یک متغیر از نوع آرایه ( از نوع Char با مقدار 0 تا 255 ) ( array [0..255] of char ) بسازید و اون رو در تابع SendMessage به صورت زیر قرار بدید :

SendMessage(hWnd, WM_GETTEXT, SizeOf(Text), integer(@Text));
در کد بالا Text همون متغیر از نوع آرایه هست که به صورتی که گفته شد باید تعریف بشه ...

با اجرای کدهای بالا مقدار نوشته زیر موس در متغیر Text قرار میگیره ، و نکته ی دیگه اینکه باید این کدها رو در یک Timer اجرا کنید ...
برای درک بهتر برنامه نمونه زیر رو نگاه کنید :
http://nabegheh.parsaspace.com/GetText.zip

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

موفق باشید ...

SYNDROME
پنج شنبه 02 آبان 1387, 07:26 صبح
چنین برنامه ای در سایت من دیده ام.
جستجوکنید می توانید پیدا کنید.
موفق باشید

lord_viper
پنج شنبه 02 آبان 1387, 15:41 عصر
یک sdk هست به اسم Deskperience_Word_Capture_v2.0.0.35 که میتونه این کارو برای شما انجام بده
کاری که بابیلون میکنه

ghasemshami
پنج شنبه 02 آبان 1387, 17:00 عصر
منظور من ToolTip نيست
منظور من اينه كه وقتي روي نوشته زير آيكون My Computer قرار مي گيره مثلا روي Computer است داخل برنامه من نوشته Computer انتقال يابد