View Full Version : سوال: نوشتن متن در notepad
HAIdle
جمعه 20 دی 1387, 12:19 عصر
با سلام و تسلیت خدمت همه دوستان
میخواهم یک برنامه با سی شارپ بنویسم که یک button و یک text box داخل یک فرم باشه. وقتی کاربر، button را فشار داد، برنامه notepad اجرا بشه و متن داخل text box در آن تایپ بشه و برود سر خط بعد. پس از آن نیز فرم برنامه ما دوباره focus شود و فرم جاری ویندوز شود.
ممنون از راهنماییهای شما
vcldeveloper
جمعه 20 دی 1387, 16:24 عصر
برنامه notepad اجرا بشه
ShellExecute
متن داخل text box در آن تایپ بشه و برود سر خط بعد.
1- بدست آوردن هندل پنجره Notepad با استفاده از FindWindow یا EnumWindows
2- بدست آوردن هندل پنجره Edit موجود در Notepad با استفاده از FindWindowEx یا EnumChildWindows.
3- ارسال پیام WM_SETTEXT به پنجره Edit مرحله قبل با استفاده از SendMessage.
پس از آن نیز فرم برنامه ما دوباره focus شود و فرم جاری ویندوز شود.
SetForegroundWindow
تمامی توابعی که در اینجا ذکر کردم از Windows API هستند، و می تونید اطلاعات تکمیلی درباره آنها را از MSDN بدست بیارید.
Sajjad.Aghapour
جمعه 20 دی 1387, 17:57 عصر
این هم یه روش دیگه..
اول یه فایل txt در یک مسیر(فرضا در مسیر اجرایی)ایجاد کنید و محتویات textBox رو در اون بریزید.بعد توسط کد زیر اون رو به notepad بفرستید.
Process.Start("notepad.exe","created file path");
و دوباره اون فایل رو پاک کنی.....
HAIdle
یک شنبه 22 دی 1387, 15:17 عصر
تمامی توابعی که در اینجا ذکر کردم از Windows API هستند، و می تونید اطلاعات تکمیلی درباره آنها را از MSDN بدست بیارید.
متشکرم
من با windows API کار نکرده ام و در MSDN هم نتونستم این دستورات را پیدا کنم.
ممنون میشم بیشتر توضیح بدید و درصورت امکان نمونه برنامه ای که این کار را انجام بده بگذارید.
با تشکر فراوان
sinpin
دوشنبه 23 دی 1387, 09:08 صبح
متشکرم
من با windows API کار نکرده ام و در MSDN هم نتونستم این دستورات را پیدا کنم.
ممنون میشم بیشتر توضیح بدید و درصورت امکان نمونه برنامه ای که این کار را انجام بده بگذارید.
با تشکر فراوان
http://pinvoke.net/
Salar Ashgi
چهارشنبه 26 مرداد 1390, 12:54 عصر
بنظرم این روش هم قابل استفاده است :
StreamWriter sw = new StreamWriter("D:\\data.txt");
sw.WriteLine(textBox1.Text);
sw.Close();
System.Diagnostics.Process.Start("D:\\data.txt");
this.Select();
this.Focus();
موفق باشید ./
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.