صفحه کامل در Binding object

mehrangan

New Member
سلام خدمت تمام دوستان
من می خوام یک فایل اجرایی رو در Binding object اجرا کنم اما نمی دونم چطور کاری کنم که این فایل به صورت فول اسکرین در کادر اجرا بشه تا کنترل کامل داشته باشم؟

:shock::shock::shock::shock:
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
منظورتون دقیقاً از فول اسکرین چیه ؟
Binding Object شئ ی هست که فایل های اجرایی رو سعی میکنه داخل برنامه ی شما محصور کنه، خود این شئ طول و عرضی داره که برنامه ی جانبی در اون اندازه نمایش داده میشه
خب نیاز دارید چه کاری انجام بدید ؟
 

mehrangan

New Member
بله شما درست می فرمایید که این قسمت کارش لود نرم افزار دیگری است
اما چی کار کنیم که اون نرم افزار بصورت پیش فرض تمام صفحه اش در همین قسمت لود بشه(یعنی فول اسکرین لود بشه)
بطور مثال می خواهیم ویندوز مدیا پلیر رو لود کنیم چی کار کنیم که فول اسکرین باشه؟؟؟
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
حقیقت امر این هست که تقریباً هیچ کنترلی روی شئ Binder ندارید، گرچه من هنوز متوجه نشدم منظورتون از فول اسکرین لود شدن چی هست، اما منظورتون هرچه که باشه، شئ Binder تنظیماتی نداره که بتونید اعمال کنید.
 
من فکر کنم متوجه منظورشون شدم! منظورشون اینه که وقتی یه فایل exe رو توی اون شی لود می کنند (مثلا یه پروژه ام ام بی با سازی پنجره 200 * 400 ) بعد وقتی توی این شی لودش می کنند، پروژه ی مورد نظر بطور کامل توی پنجره ی اون شی نمایش داده نمیشه! یکمش نشون داده نمیشه! هرچقدرم اندازه ی شی رو افزایش بدهند بازهم اون پروژه 200*400 بطور کامل نمایش داده نمیشه! این مشکل رو من هم دارم!
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
این شئ تنظیمات چندانی نداره، و از طریق کدنویسی هم نمیشه تغییراتی روش اعمال کرد، می تونید با آزمون و خطا بخش های مختلف تنظیماتش رو تست کنید، کار بیشتری نمیشه کرد
 

Singular

Active Member
یکی کمک کنه که چطور میشه به فایل لود شده Binder دسترسی داشته باشیم
یعنی بتونیم نوشته درون Editbox رو حذف کنیم با کلیدی که تو ام ام بی ساختیم.....
نمونه مثال لطفا دانلود کنید کمک کنید...

http://uplod.ir/v4ica7zbw9px/test.mbd.htm

کمک کنید لطفا
 

محمدمهدی

Well-Known Member
عزیزم همونطور که جناب nevercom هم گفتند. راه حل اصولی برای اینکار نیست. مگر استفاده از تنها دستور اون به نام SendCommand برای اینکه با این دستور آشنا بشید راهنمای خود برنامه بهترین هست و مثال هم در این مورد داره.
مثلا دستور FullScreen شدن مدیاپلیر توی منوی دوم و شماره هفدهم هست که احتمالا اگر از صفر بشمرید میشه 1,16. ولی اینکار هم اصولی نیست چون ممکن با تغییر ورژن مدیا پلیر، جاش تغییر بکنه. البته می تونید با فرستادن CommandLine در اولین اجرا از این مقدار خطا کم کنید.

اما اگر بخواهید چیز خاصی رو توی خود اون Object تغییر بدید راه های غیر اصولی فراوانی وجود داره. مثلا استفاده از پلاگین هایی که SendKey انجام می دهند و یا استفاده از کلیک کردن مجازی موس با پلاگین.
یا استفاده از نرم افزار های دیگه و رابط زدن با اونها. مثلا VB هم قابلیت محصور کردن یک نرم افزار دیگه رو داره و بهتر دستور می فرسته. شما می تونید با VB یه نرم افزار بنویسید که رابط بین اون نرم افزار هدف و Interface خودتون باشه که دیگه واقعا پیچیده و غیر اصولی میشه.

البته اگر نرم افزار داخل Bind رو خودتون بنویسید این مباحث مطرح نیست و با روش های مثل انتقال دستور از طریق ClipBoard یا فایل یا تغییر Title پنجره میشه دو تا نرم افزار با هم ارتباط برقرار بکنند. که جالبه که باز هم اصولی نیست. مگر روش های متکی به پلاگین.

یا از همه بد تر استفاده از ResourceHacker یا نرم افزار های شبیه اون برای تغییر اون فایل به نفع خودتون و اجرای اون فایل به جای نرم افزاری مثل مدیا پلیر هست که نمی دونم یاد دادنش مجاز هست یا نه.

اینا رو گفتم که راه رو بسته نبینید اما نهایتا جواب جناب nevercom جواب نهایی هست.
سعی کنید هدفتون،مشکلاتتون و انتظاراتی که دارید رو به صورت دسته بندی شده و مرتب مطرح کنید تا به هر یک به صورت جداگانه پرداخته بشه و انشاءا... به هدفتون برسید.

موفق باشید.
 

Singular

Active Member
خوب حالا با هر برنامه ای که بشه.
فقط متن درون کادر ٍ Edit box پاک بشه
فکر کنم دستور طوری باید باشه که مثلا کادری که علامت نشانگر تایپ است نوشته درون کادر پاک شود
دوستان مهم هست این کار .. ممنون میشم راهنمایی کنید
 

محمدمهدی

Well-Known Member
جواد جان به نظرم vb هست. اما ظاهرا ایشون یه چیز کلی برای هر برنامه ای می خواد.
(تو پست قبلی یه چیزایی به نظرم رسید خدمتشون گفتم که ظاهرا توجهی نکردن)
 

محمدمهدی

Well-Known Member
توضیح بیشتر و نمونه مثال

سلام عزیز جان. ای کاش یه مقدار خودتم جستجو می کردی پیرو اون راهنمایی هایی که دوستان کردند.
به هر حال وقتم آزاد بود و ...:

برای ارتباط خوب بین دو برنامه فقط توی ام ام بی دو راه حل درست وجود داره. (اگر نه راه غیر اصولی زیاد هست. مثل استفاده از کلیپ بورد یا نوشتن و خوندن از فایل یا رجیستری و ...)

بهترین راه به نظر من، استفاده از پلاگین بی نقص آقا جواد هست :
http://forum.majidonline.com/threads/195208-Send-Info-Plugin
(البته ظاهرا این پلاگین هم از همون روش رجیستری استفاده می کنه. اما به هر حال دقیقه و کلاسیکه.)

راه بعدی هم استفاده از پلاگین های مختلف و تغییر تیتر پنجره هست که مثالش رو توی پیوست گذاشتم.
(SEND DATA TO PROGRAM)


اما در کل :

اما در کل حتما به مثال Binding Object خود ام ام بی مراجعه کنید. شاید مشکلتون که ظاهرا در ابتدای کار FullScreen کردن MediaPlayer بود حل بشه. ( که حل میشه انشاءا...)
Multimedia Builder498\Samples\binding.mbd

اگر اشتباه نکنم یه فایل یا پلاگین برای ارتباط VB و MMB هم قبلا نوشته شده بود که الان اسمش خاطرم نیست. البته خیلی اوقات درست کار نمی کرد.

این پلاگین ها رو هم حتما ببینید. البته من مثال درستی از اونها پیدا نکردم. (خواهشا اگر دوستان فرصت دارن یه مثال از روی اینها بسازند)
CS_VB Power Plugin v1.2.0.1
http://www.greencow.se/forums/index.php?topic=299.0
CS1 Plugin (R1.3)
http://www.greencow.se/forums/index.php?topic=321.0

همونطور که گفتم راه های غیر اصولی تری هم وجود داره. اما شاید از راهی که من برای VB پیشنهاد دادم بهتر باشه.
مثلا استفاده از ترکیب پلاگین های MicrobeWindows و G_HideShow و plugy و MiscY 1.7.0.0 و MFiREWindowPlugin و SendKey کردن یا استفاده از Autoit ها و...

در ادامه مثلا به یه نمونه کار خیلی جالب دیگه از کار های آقا جواد نگاه کنید. (وارونگر متن)
http://forum.majidonline.com/threads/201215-وارونگر-متن
این یه برنامه برای تغییر متنیه که اشتباها به زبان معکوسش تایپ شده، توی هر برنامه ای. از حالت بدون فورم استفاده کنید تا بیشتر متوجه موضوع بشید.

* * * *

اما من برای نمونه ای که خواستین یه مثال درست کردم که لطفا از پیوست دانلود کنید و مشاهده کنید.
تو این مثال با استفاده از ClipBoard و یک جدا کننده ی قراردادی که همون عبارت <MMB> هست یه متنی رو به برنامه ای که خودمون نوشتیم ارسال می کنم. مثال VB اون هم پیوست شده.
(البته و صد البته که این مثال برای هر کاری صحیح نیست و شاید کلا صحیح نیست. اما اون مثالی که شما می خواهید رو در سریع ترین حالت ممکن با امکانات موجود ام ام بی -بدون پلاگین- انجام میده)

به هر حال امیدوارم در قدم اول بعد از جستجو و دریافت راهنمایی از دوستان، خودتون تلاش برای ساختش بکنید و اگر به نتیجه نرسیدید مبحث رو ادامه بدید.

موفق باشید.
 

پیوست ها

  • ChangeVBTextbyClipboard.rar
    6.3 کیلوبایت · بازدیدها: 11
  • SEND DATA TO PROGRAM Parent_and_child_By_French_Love_With_ScriptCode.rar
    144.5 کیلوبایت · بازدیدها: 28
آخرین ویرایش:

Singular

Active Member
خیلی ممنون از لطفت... ولی نمیشه یکاری کرد جداکننده نباشه... در مثالی که زدید داخل سورس ویبی شما <mmb> نوشتید.حال فرض کنید شما به سورس ویبی دسترسی ندارید. .. بخواهید فقط مدیریت Edit box ویبی رو در اختیار بگیریم
نمونه مثال
http://uploadtak.com/images/r8112_test.rar
 

محمدمهدی

Well-Known Member
خواشها پست ها رو دقیق مطالعه کنید بعد درخواست کنید.
عرض کردم که به صورت پیش فرض نه خیر نمیشه. یعنی Object Binding چنین قابلیتی رو نداره.
مگر اینکه با ترکیب پلاگین هایی که خدمتتون عرض کردم این کار صورت بگیره که خیلی سخت و امکان خطای اون زیاد هست.
لطفا حتما یه بار نرم افزار وارنگر متن آقا جواد رو ببینید تا منظور من رو متوجه بشید.
همچنین مثال های پلاگین هایی که عرض کردم.
(به هر حال راه حل های این چنینی یه جور کلک رشتی به حساب میان)

اما اگر بخواهید بدونید که کلا اینکار به صورت اصولی در ویندوز امکان پذیر هست یا خیر؟ بله امکان پذیر هست. ولی نه با ام ام بی.
برای تحقیق در اینباره پیرو مباحث برنامه نویسی های وابسته به API با زبان های استاندارد باید جستجو کنید و به نظرم بهترین کلیدواژه ها حول محور User32.dll یا GDI32.dll یا Kernel32.dll خواهد بود.
 

جدیدترین ارسال ها

بالا