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

نام تاپیک: چرا من نمیتونم یه برنامه غیر دلفی رو بصورت پنجره مخفی اجرا کنم؟

  1. #1

    چرا من نمیتونم یه برنامه غیر دلفی رو بصورت پنجره مخفی اجرا کنم؟

    سوال که ههمون عنوان تاپیک بود.

    روش هایی که من تست کردم - Winexec ، Shellexecutec و CreateProcess با پارامتره SW_HIDE .
    روی برنامه ماشین حساب امتحان کردم

  2. #2
    مگه کدهاش اینها نیستن

    winexec('calc.exe', SW_HIDE);


    یا

    ShellExecute(0, nil, 'calc.exe' , nil, nil, SW_HIDE);

    یا

    var
    ProcessInfo: TProcessInformation;
    StartUpInfo: TStartupInfo;

    begin
    FillChar(StartUpInfo, SizeOf(StartUpInfo), $00);
    StartUpInfo.dwFlags := STARTF_USESHOWWINDOW;
    StartUpInfo.wShowWindow := SW_HIDE;

    CreateProcess(nil, 'calc.exe', nil, nil,
    False, IDLE_PRIORITY_CLASS, nil, nil, StartUpInfo,
    ProcessInfo)


    من توی ویندوز اکس پی سرویس پک دو امتحان کردم توی ویندوزهای دیگه امتحان نکردم.
    هیچکدوم از کدهای بالا جواب نمیدن.
    از مثالی که همراه با کمپوننت macodehook هست و CreateProcess رو هوک میکنه استفاده کردم تا بتونم کدهای CreateProcess رو کنترل کنم از این مسیر هم کدهای بالا رو تزریق کردم اما نتیجه نداشت.
    چه باید بکنم ؟؟؟؟؟

  3. #3
    کاربر تازه وارد آواتار مرد مباح
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    نبین نوشته تازه وارد. تاریخ ورود رو ببین
    پست
    66
    مشکل رو منم دارم و نتونستم حلش کنم.
    ولی اگه مشکلت فقط با ماشین حساب حل میشه کامپوننت RXLibrary رو نصب کن و توی اون ماشین حساب داره.
    ولی این مشکل رو من دارم با یک برنامه دیگه.
    یک برنامه ای که خودم نوشتم و با زبان دیگه ای است و فایل EXE اون رو دارم.
    میخوام این فایل به صورت یک پنجره توی برنامه اجرا بشه.
    راه حلی براش سراغ دارین دوستان؟

  4. #4
    نقل قول نوشته شده توسط مرد مباح
    مشکل رو منم دارم و نتونستم حلش کنم.
    ولی اگه مشکلت فقط با ماشین حساب حل میشه کامپوننت RXLibrary رو نصب کن و توی اون ماشین حساب داره.
    ولی این مشکل رو من دارم با یک برنامه دیگه.
    یک برنامه ای که خودم نوشتم و با زبان دیگه ای است و فایل EXE اون رو دارم.
    میخوام این فایل به صورت یک پنجره توی برنامه اجرا بشه.
    راه حلی براش سراغ دارین دوستان؟
    ماشین حساب رو محض نمونه بیان کردم.
    ضمن اینکه باز کردن یه برنامه توی برنامه خودمون یه چیز دیگه هست.

    کدهایی که من بالا نوشتم استاندارد و بدون مشکل به نظر میرسن امّا جواب نمیدن.
    جالبه که بعد از باز شدن برنامه با متدهای بالا، کد ShowWindow با پارامتره WS_HIDE پنجره برنامه رو مخفی میکنه! که البته بدرد کار من نمیخوره چون اگه زیر میلی ثانیه هم این کار رو انجام بدم باز پنجره برنامه یه لحظه نشون داده میشه

  5. #5
    ببخشید شما میتونید از دوستت حسن بپرسی؟
    ولی من هم همین مشکل رو دارم

  6. #6
    کاربر تازه وارد آواتار مرد مباح
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    نبین نوشته تازه وارد. تاریخ ورود رو ببین
    پست
    66
    آرش جان.
    پارامترهایی که جلوی اون فرمانها مینویسی برای ÷نجره ای که ران میکنی عمل میکنه و نه روی برنامه خودت. من دارم روش کار میکنم.
    با OLE هم نتونستم این کارو بکنم تا حالا. OLE هم مثل این فرمانها عمل میکنه.

  7. #7
    نقل قول نوشته شده توسط مرد مباح
    آرش جان.
    پارامترهایی که جلوی اون فرمانها مینویسی برای ÷نجره ای که ران میکنی عمل میکنه و نه روی برنامه خودت. من دارم روش کار میکنم.
    با OLE هم نتونستم این کارو بکنم تا حالا. OLE هم مثل این فرمانها عمل میکنه.
    ممنون که همراه من هستی - من کاری به برنامه خودم ندارم می خوام برنامه های غیر دلفی رو بصورت پنجره مخفی به اجرا در بیارم.

    کسی تو این زمینه اطلاعات نداره ؟

  8. #8
    منظورتون از پنجره مخفی چی هست؟
    You never know what you can do until you try

  9. #9
    یک برنامه ای که خودم نوشتم و با زبان دیگه ای است و فایل EXE اون رو دارم.
    میخوام این فایل به صورت یک پنجره توی برنامه اجرا بشه.
    من دارم روش کار میکنم.
    با OLE هم نتونستم این کارو بکنم تا حالا. OLE هم مثل این فرمانها عمل میکنه.
    OLE که برای خودش کار نمیکنه. شما باید خودت رابط مربوطه را در برنامه اول نوشته باشی تا بتونی در برنامه دوم با استفاده از OLE برنامه اول را کنترل کنی.

  10. #10
    مشکل من با هوک کردن حل شد! ممنون از همه.

  11. #11
    کاربر تازه وارد آواتار مرد مباح
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    نبین نوشته تازه وارد. تاریخ ورود رو ببین
    پست
    66
    علی جان.OLE خودش فایلهای EXE رو ساپورت میکنه و اجرا میشه.مسئله اینه که میخوام توی برنامم یک ویندو باز بشه و برنامه ران بشه نه توی ویندوی خود برنامه و یک آیکون هم به TaskBar اضافه بشه.

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

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