View Full Version : اجرای یک نرم افزار در داخل برنامه دلفی
javad_rajabloo
پنج شنبه 25 اسفند 1390, 07:56 صبح
سلام
چطوری میشه یک نرم افزار رو داخل برنامه دلفی اجرا کرد؟
مثلا یک پروژه دلفی داریم بخشی از فرم رو بذاریم اینترنت اکسپلورر کار کنه
راه حلی دارید؟
Vahid.Shatery
پنج شنبه 25 اسفند 1390, 08:23 صبح
سلام
برای اتفاده اینترنت درون فرم دلفی باید از کامپوننت webBrowser خود دلفی استفاده کنید .
javad_rajabloo
پنج شنبه 25 اسفند 1390, 10:49 صبح
یک سایتی هست که من ازش می خوام استفاده کنم و اون فقط با اینترنت اکسپلورر 7 به بالا کار میکنه و با هیچ مرورگر دیگه ای کار نمیکنه.
یک نرم افزار دازم که می خوام بخشی از فرم اصلی نرم افزار رو اینترنت اکسپلورر 7 لود بشه
Fastdesign
پنج شنبه 25 اسفند 1390, 11:08 صبح
تو همین سایت در مورد "طرز استفاده از ShellExecute " یه جستجو بزنید مطالب خوبی گیرتون میاد .
موفق باشید
javad_rajabloo
پنج شنبه 25 اسفند 1390, 18:14 عصر
در صورت استفاده shellexecute کنترل برنامه از نرم افزار خودم به سمت اینترنت اکسپلورر میره و من اینو نمی خوام.
در نظر دارم بخشی از فرم نرم افزارم رو اختصاص بدم به اینترنت اکسپلورر
سعید صابری
پنج شنبه 25 اسفند 1390, 23:55 عصر
اگه منظورت اینه که برنامه شما parent یک برنامه دیگه باشه کدش اینه.
کد از جناب تاجبک
var
hWindow: hwnd;
begin
hWindow := FindWindow(PChar('notepad'), nil);
if hWindow <> 0 then
begin
Windows.SetParent(hWindow, Self.Handle);
SetWindowPos(hWindow, 0, 0, 0, Self.Width, Self.Height, SWP_SHOWWINDOW);
end
else
ShowMessage('Window not found!');
javad_rajabloo
شنبه 27 اسفند 1390, 07:26 صبح
ممنون . خیلی کد خوبی بود
اما 3 تا سوال
این کد در صورتی که یک برنامه رو parent می کنه که اجرا شده باشه. میشه برنامه مورد نظر رو با shellexecute اجرا کرد و بعدش parent کرد؟
اگه بخوایم یه باتن بذاریم که با کلیک بر روی اون برنامه ای که parent شده بسته بشه چیکار کنیم؟
من خواستم ماشین حساب ویندوز یا اینترنت اکسپلورر رو با این روش اجرا کنم
بجای عبارت "notepad" ، "calc "نوشتم نشد . "calculator "نوشتم نشد . باید چی بنویسم؟واسه اینترنت اکسپلورر چی؟
سعید صابری
شنبه 27 اسفند 1390, 15:20 عصر
سوال اولت :بلی.
سوال دومت: هر جا دوست داری بزار.
سوال سوم برای اطلاعات بیشتر Findwindow را در سایت یا گوگل جستجو کنید برای ماشین حساب
اینجوری بنویس
hWindow := FindWindow(nil,PChar('Calculator'));
javad_rajabloo
یک شنبه 28 اسفند 1390, 08:16 صبح
برای بستن برنامه ای که parent شده چه کدی باید نوشت؟
منظور از بستن برنامه ، بستن برنامه با کد هست نه با کلیک بر روی دکمه close
Felony
یک شنبه 28 اسفند 1390, 09:03 صبح
var
hWindow: THandle;
begin
hWindow:= Self.Handle;
hWindow:= FindWindowEx(hWindow, 0, PChar('notepad'), nil);
SendMessage(hWindow, WM_CLOSE, 0, 0);
end;
javad_rajabloo
یک شنبه 28 اسفند 1390, 13:58 عصر
متاسفانه جواب نداد آقای تاجیک
جناب تاجیک ،من یک پیغام خصوصی براتون فرستاده بودم در مورد سورس گوگل ارث بود. ممنون میشم پاسخ بدید.
Felony
یک شنبه 28 اسفند 1390, 15:41 عصر
متاسفانه جواب نداد آقای تاجیک
چطور از کد استفاده کردید که جواب نداد ؟
من در کدی که نوشتم فرض کردم Parent پنجره مورد نظر که قصد بستنش رو دارید برنامه فعلی هست ( Self.Handle ) ، اگر Parent پنجره ای که قصد بستنش رو دارید فرم برنامه فعلیتون که دارید ازش دستور بسته شدن رو ارسال میکنید نیست ، به جای اون Self.Handle باید هندل Parent پنجره مورد نظر برای بسته شدن رو به دست بیارید ( به وسیله FindWindow ) و به عنوان جای اون Self.Handle ازش استفاده کنید .
جناب تاجیک ،من یک پیغام خصوصی براتون فرستاده بودم در مورد سورس گوگل ارث بود. ممنون میشم پاسخ بدید.
متاسفانه در طول روز سوالات زیادی به صورت پیغام خصوصی برای من و یکسری از دوستان ارسال میشه و خیلی از دوستان وقت بررسی همشون رو ندارن و گاهی اوقات مجبور میشیم این سوالات رو به صورت دسته ای حذفشون کنیم ، سوالاتون رو در بخش مربوطه در سایت بپرسید تا هر کس که اطلاع داره به سوالتون پاسخ بده ، من هم اگر کاری از دستم بر بیاد و وقت کنم حتما جواب میدم ؛ اینطوری هم زودتر به جوابتون میرسید و هم من و دیگر دوستان شرمندتون نمیشیم .
rk1983xx
سه شنبه 09 خرداد 1391, 22:16 عصر
من برنامه ای نوشتم که لاگ فعالیت انجام شده رو توی یه فایل متنی ذخیره میکنم (فارسی)
وقتی کاربر میخواد اونو بخونه با نوت پد فراخوانیش می کنم
میشه راهنمائی کنید اگه بخوام نوت پد در حالت RightToLeft ران بشه ؟
و یا لا اقل بعد از ران با Sendmessage با ید چی بفرستم که معادل زده شدن کلید های Ctrl+Shift سمت راست توی نوت پد باشه و اونه RightToLeft کنه ؟
mymohammad
سه شنبه 21 خرداد 1392, 14:13 عصر
اگه منظورت اینه که برنامه شما parent یک برنامه دیگه باشه کدش اینه.
کد از جناب تاجبک
var
hWindow: hwnd;
begin
hWindow := FindWindow(PChar('notepad'), nil);
if hWindow <> 0 then
begin
Windows.SetParent(hWindow, Self.Handle);
SetWindowPos(hWindow, 0, 0, 0, Self.Width, Self.Height, SWP_SHOWWINDOW);
end
else
ShowMessage('Window not found!');
عالی بود - خیلی ممنون :تشویق:
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.