PDA

View Full Version : سوال: پیدا کردن هندل word ?



f_alikhani
شنبه 10 دی 1390, 19:26 عصر
سلام
ببخشید میخواستم بدونم چه جوری می تونم هندل word رو پیدا کنم میخوام یه برنامه بنویسم که در edit هر چه وارد کردم با زدن یک button به word رفته و آنجا نشون بده باید از توابع api استفاده کنم میشه بگین چه جوری ؟
یه مطلبی خوندم در قسمت 1001 نکته در c# نوشته بود
بدست آوردن Handle تمامی پنجره های موجود در سیستم


using System.Runtime.InteropServices

اگه اینو بنویسم جواب میده؟
ممنون میشم کمکم کنین

Esmail Solhkhah
یک شنبه 11 دی 1390, 00:46 صبح
سلام دوست عزیز

لینک زیر رو بررسی کنید ، قبلا هم یکی از دوستان این مورد رو مطرح کردن بنده تو پست 5 موارد لازم برای این کار رو توضیح دادم

http://barnamenevis.org/showthread.php?319442-دسترسی-به-اشیا-درون-نرم-افزار-ها-در-حال-اجرا

موفق باشید.

f_alikhani
چهارشنبه 14 دی 1390, 19:10 عصر
ممنون از راهنماییتون ولی صفحه ها رو باز نمی کنه بازم ممنون

spring69
چهارشنبه 14 دی 1390, 21:17 عصر
سلام
نیازی به استفاده از توابع ای پی آی نیست
شما از کامپوننت های مربوط به آفیس استفاده کنید.
نمونه کد و مثال و غیره تا دلتون بخواد هست
please search in google for "create word document with c (https://www.google.com/#hl=en&cp=27&gs_id=6&xhr=t&q=create+word+document+with+c%23&tok=GXWbDN8rubWwQqKZJOpU5w&pf=p&sclient=psy-ab&site=&source=hp&pbx=1&oq=create+word+document+with+c&aq=0&aqi=g1g-j3&aql=&gs_sm=&gs_upl=&bav=on.2,or.r_gc.r_pw.r_cp.,cf.osb&fp=a1bc1589ec616832&biw=1366&bih=643)#"

mohammad272005
چهارشنبه 14 دی 1390, 21:24 عصر
با کد زیر میتونید ایکار رو انجام بدید:
[DllImport("User32.dll")]
private static extern IntPtr FindWindow(String className, String windowName);
private static void Main()
{
var hwnd = FindWindow(null, "document1- microsoftword");
}

ولی کار با پیدا کردن handle، درست نمیشه. دنبال Interop برید که متاسفانه مبحث بزرگیه و اینجا توضیحش مشکله

f_alikhani
جمعه 16 دی 1390, 18:05 عصر
ببخشید آقای mohammad272005 من اگه بخوام تو جای دیگه ای بنویسم مثلا Notepad بازم باید دنبال Interop بگردم یا با نوشتن این کدی که در اختیارم گذاشتین میشه؟
ببخشید که خیلی سوال می پرسم کاملا مبتدی ام

spring69
جمعه 16 دی 1390, 21:19 عصر
ببینید دوست من، توابع ای پی آی آخرین راه و بدترین راهه همیشه.
شما برای کار با برنامه هایی که هیچ کنترلی روشون ندارید میتونید از این توابع استفاده کنید.
ولی مثلا برای به قول شما نوشتن در نوت پد، میتونید از توابع بسیار بسیار آسان خود دات نت استفاده کنید.
لقمه رو پیچ ندید.
خروجی نت پد در نهایت یه فایله تکست میشه دیگه؟
پس از اینجا (http://msdn.microsoft.com/en-us/library/8bh11f1k.aspx) و جاهای شبیه به این (https://www.google.com/search?sourceid=chrome&ie=UTF-8&q=work+with+text+file+C%23#sclient=psy-ab&hl=en&source=hp&q=text+file+C%23&pbx=1&oq=text+file+C%23&aq=f&aqi=&aql=&gs_sm=e&gs_upl=109852l109852l0l110116l1l1l0l0l0l0l0l0ll0l0&bav=on.2,or.r_gc.r_pw.r_cp.,cf.osb&fp=a1bc1589ec616832&biw=1366&bih=643) استفاده کنید

spring69
جمعه 16 دی 1390, 21:52 عصر
یه نمونه گذاشتم از نوشتن در فایل ورد
اگه لازم شد Microsoft.Office.Interop.Word رو ادد رفرنس کنید