نمایش نتایج 1 تا 14 از 14

نام تاپیک: نحوه دسترسی به کنترلهای فرمی از یک Process دیگر

  1. #1
    کاربر دائمی آواتار mehdi_turbo
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    Half Of The World
    پست
    231

    Question نحوه دسترسی به کنترلهای فرمی از یک Process دیگر

    با سلام

    من میخاستم بدونم میشه یه برنامه exe را اجرا کنم و بعد با توجه به فیلدهای درون ان (textbox) فیلدها را پر کنم ؟

    در واقع مثل اینکه اتوماتیک یک فایل exe را اجررا کنم و ببینم چه فیلدهای ورودی ای دارد و من انها را از طریق اطلاعات موجود در بانک پر کنم !!

    همین کار را تحت وی نبز نیاز دارم ؟؟؟

    میدونم چه شکلی فایل اجرایی مثل notepad رش با ارگومان اجرا کنم ولی این چیزی که در بالا گفتم ارگومان برنامه نیست بلکه فیلدهای ورودی خود برنامه است !!

    با تشکر از همگی

  2. #2
    کاربر دائمی آواتار mehdi_turbo
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    Half Of The World
    پست
    231

    نقل قول: قابلیت اتوکامپلیمنت(autocomplemente) در برنامه های exe

    لطفا اگر منبع ای را میشناسید که در این مورد صحبت کرده ذکر کنید . من نمی دونم دقیقا باید چی را سرچ کنم ؟

  3. #3
    کاربر دائمی آواتار M.YasPro
    تاریخ عضویت
    آبان 1386
    محل زندگی
    Kernel
    پست
    1,171

    نقل قول: قابلیت اتوکامپلیمنت(autocomplemente) در برنامه های exe

    منظورتون واضح نیست

  4. #4
    کاربر دائمی آواتار mehdi_turbo
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    Half Of The World
    پست
    231

    نقل قول: قابلیت اتوکامپلیمنت(autocomplemente) در برنامه های exe

    نقل قول نوشته شده توسط M.YasPro مشاهده تاپیک
    منظورتون واضح نیست
    فک کنم نشه واضح تر از این منظورم را بیان کنم

    ببین فرض کنید یک فایل مثل a.exe داریم که با اجرای این فایل از کاربر 5 مقدار را دریافت میکند:
    مثل نام و نام خانوادگی و ...
    حالا من میخام این مقادیر را به صورت اتوماتیک بدون اینکه کاربر وارد کند ، از طریق برنامه ثالثی وارد کنم!!!

    متوجه شدید ؟

  5. #5
    کاربر دائمی آواتار M.YasPro
    تاریخ عضویت
    آبان 1386
    محل زندگی
    Kernel
    پست
    1,171

    نقل قول: قابلیت اتوکامپلیمنت(autocomplemente) در برنامه های exe

    https://barnamenevis.org/showthread.php?t=64210
    پست شماره دو
    فکر نکنم به این کار بگن "اتوکامپلیمنت"!!!

  6. #6
    کاربر دائمی آواتار mehdi_turbo
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    Half Of The World
    پست
    231

    نقل قول: قابلیت اتوکامپلیمنت(autocomplemente) در برنامه های exe

    نقل قول نوشته شده توسط M.YasPro مشاهده تاپیک
    https://barnamenevis.org/showthread.php?t=64210
    پست شماره دو
    فکر نکنم به این کار بگن "اتوکامپلیمنت"!!!
    دستت درد نکنه دوست من !
    منم درست نمیدونم که بشه به این کار گفت اتوکامپلیمنت ولی اسم دیگه ای به ذهنم نرسید!

    ولی دوست من این پستی که گذاشتی فقط 2 تا فایل اجرایی داخلش بود که اصلا بدرد من نمیخوره ؟ چون من میخام کد نویسی کنم و سورس برنامه ها را میخام نه خود برنامه ها

  7. #7
    کاربر دائمی آواتار debugger
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    Turkey
    پست
    843

    نقل قول: قابلیت اتوکامپلیمنت(autocomplemente) در برنامه های exe

    با sendkeys میشه یه متنی را ارسال کرد به بک برنامه دیگر

    در وب این کار به سادگی انجام میشه . چون هر فیلد یک id داره ولی در نرم افزار (ارسال از یک نرم افزار به نرم افزار دیگه) فکر می کنم با sendkeys عملی بشه

    اول میای هندل فرم را پیدا می کنی و روش فوکوس می کنی

    بعد یک مقداری را برای تکست باکس میفرستی و بعد یک tab میفرستی تا فوکوس بره تو تکست باکس بعدی و بعد مقدار را ارسال می کنی و بعد یک tab دیگه و الی اخر

  8. #8
    کاربر دائمی آواتار mehdi_turbo
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    Half Of The World
    پست
    231

    نقل قول: قابلیت اتوکامپلیمنت(autocomplemente) در برنامه های exe

    ممنون از حسن توجه شما دوست عزیز
    میشه کمی در مورد گرفتن هندل برنامه و ارسال اطلاعات به ان از این طریق توضیح دهید من سرچ کردن چیزی نیاورد

  9. #9
    کاربر جدید
    تاریخ عضویت
    مهر 1387
    محل زندگی
    زمین
    پست
    13

    نقل قول: قابلیت اتوکامپلیمنت(autocomplemente) در برنامه های exe

    سلام برای گرفتن هندل پنجره از API باید استفاده کنی.
    یک سرچ بزنی پیدا می کنی.
    این لینک فکر کنم کارتو را بندازه:
    http://www.csharphelp.com/2006/08/ge...dows-api-in-c/

    اما بهتره که این جوری کار که برنامه ای که می خوای اطلاعاتت رو به اون ارسال کنی رو اسم پراسسش رو پیدا کنی بعد
    با دستور زیر از اون تو برنامه ات استفاده کنی:
    Process[] SameProcesses = Process.GetProcessesByName("ThisProcess.exe");
    Process SameProcess = SameProcesses[0];

    بعد با API برنامه ات رو با دستور زیر اکتیو کن.
     [DllImport("user32.dll")]
    static extern bool SetForegroundWindow(IntPtr hWnd);
    SetForegroundWindow(SameProcess.MainWindowHandle);

    در آخر با SendKeys اطلاعاتت رو ارسال کن
    آخرین ویرایش به وسیله s_mehdi : چهارشنبه 19 اسفند 1388 در 16:39 عصر

  10. #10

    نقل قول: قابلیت اتوکامپلیمنت(autocomplemente) در برنامه های exe

    سلام.
    اگر با Win32 آشنا هستید، این کار رو می تونید براحتی انجام بدید. کافیه، ابتدا با یکی از API های موجود، Handle به Window و البته، کنترلی کنترلی که قصد دارید محتوای اونو تغییر بدید رو بدست بیارید. سپس توسط SetWindowText Win32 API، مقدار مورد نظر خودتون رو در کنترل مزبور Set کنید. نیازی به ارسال کلید توسط SendKeys و اینجور کارها نیست (یعنی اینکار در واقع ممکنه مشکلاتی رو هم پیش بیاره که از کنترل شما خارجه).

    اما API ها مورد استفاده در این روش:

    • FindWindow برای گرفتن Handle مورد نظر به پنجره ای که قصد دخل و تصرف در اون رو دارید. (یا دیگر API ها، بسته به اینکه چه مشخصه ای از Window مقصد رو دارید).
    • GetDlgItem برای گرفتن Handle به کنترل مورد نظر روی پنجره ای که در مرحله قبل Handle به اون رو بدست آوردید (یا اگر ID اش رو نمیدونید، باید دونه به دونه Iterate کنید کنترلهای موجود در Dialog رو...)
    • SetWindowText برای Set کردن Text مورد نظر در TextBox موجود (اگر TextBox باشه)، یا فرضا ارسال BM_SETCHECK به کنترل، برای انتخاب یک CheckBox (اگر checkbox باشه) و ...

    موفق باشید.

  11. #11
    کاربر جدید
    تاریخ عضویت
    خرداد 1386
    محل زندگی
    شهر یزد
    پست
    15

    نقل قول: نحوه دسترسی به کنترلهای فرمی از یک Process دیگر

    سلام

    منم همین مشکل را دارم.من میخوام یه برنامه ای بنویسم که در هنگام اجرا داخل مسیرش جستجو کنه و فایل هایی که مربوط به update ویندوز هست را داخل یک صف بریزه بعد یک به یک اجرا کنه و نصب کنه روند همه فایل ها یکسانه.

    به طور مثال اجرا کنه دکمه next صدا زده بشه و اگر در این حین check box ی هست انتخاب کنه next کنه تا finish و بعد فایل بعدی.

    ممنون میشم کمک کنید.

  12. #12

    نقل قول: نحوه دسترسی به کنترلهای فرمی از یک Process دیگر

    نقل قول نوشته شده توسط yazd_alireza مشاهده تاپیک
    سلام منم همین مشکل را دارم.من میخوام یه برنامه ای بنویسم که در هنگام اجرا داخل مسیرش جستجو کنه و فایل هایی که مربوط به update ویندوز هست را داخل یک صف بریزه بعد یک به یک اجرا کنه و نصب کنه روند همه فایل ها یکسانه. به طور مثال اجرا کنه دکمه next صدا زده بشه و اگر در این حین check box ی هست انتخاب کنه next کنه تا finish و بعد فایل بعدی. منون میشم کمک کنید.
    سلام.
    اینکار برای نصب برنامه ها مناسب نیست. عموما برای نصب برنامه ها سوئیچ هایی در نظر گرفته میشه که در "سکوت" و بدون نمایش GUI به کاربر، برنامه نصب بشه. و الا اومدیم یکی از اون CheckBox هایی که شما میخواهید روشن کنید، نوشته بود:

    Yes, Please f*** the entire hard disc.

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

    برای حل هر مشکل، از راهش وارد بشید.

    موفق باشید.

  13. #13
    کاربر جدید
    تاریخ عضویت
    خرداد 1386
    محل زندگی
    شهر یزد
    پست
    15

    نقل قول: نحوه دسترسی به کنترلهای فرمی از یک Process دیگر

    نقل قول نوشته شده توسط mehdi.mousavi مشاهده تاپیک
    سلام.
    اینکار برای نصب برنامه ها مناسب نیست. عموما برای نصب برنامه ها سوئیچ هایی در نظر گرفته میشه که در "سکوت" و بدون نمایش GUI به کاربر، برنامه نصب بشه. و الا اومدیم یکی از اون CheckBox هایی که شما میخواهید روشن کنید، نوشته بود:

    Yes, Please f*** the entire hard disc.

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

    برای حل هر مشکل، از راهش وارد بشید.

    موفق باشید.
    متوجه منظورتون نشدم،منظورتون از سوئیچ برنامه یا برنامه های خاصی است.
    من میخوام واسه نصب update های ویندوز این برنامه را بنویسم که اتوماتیک این update ها نصب بشه همه این فایل ها( update) برای نصب روند یکسانی داره.

    بازم ممنونم

  14. #14
    کاربر جدید
    تاریخ عضویت
    خرداد 1386
    محل زندگی
    شهر یزد
    پست
    15

    نقل قول: نحوه دسترسی به کنترلهای فرمی از یک Process دیگر

    آخه چرا هیچکی پیدا نمیشه جواب بده!؟
    آخرین ویرایش به وسیله yazd_alireza : یک شنبه 30 خرداد 1389 در 19:30 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •