PDA

View Full Version : کنترل و گرفتن خروجی از یک برنامه دیگر



dashali2
شنبه 24 مرداد 1394, 02:11 صبح
سلام
من برنامه ای دارم که شامل دو کنترل است.
1- یک دکمه
2- یه تکست باکس از نوع memo که وقتی دکمه توسط یوزر زده میشود، یکسری اطلاعات رو در این تکست باکس نمایش میدهد. (بصورت متن با قابلیت کپی کردن)

حالا من میخوام برنامه ای بنویسم که برنامه بالا رو به صورت مخفی اجرا کنه ، روی اون دکمه کلیک کنه و متنی که در تکست باکس میاد رو استخراج کنه.
کسی میتونه راهنماییم کنه؟

isaac23
شنبه 24 مرداد 1394, 11:02 صبح
درست متوجه نشدم دوست عزیز اما اگه منظورت اینه که متنی که داخل تکس با کپی کنی باید متن رو داخل یه متغیر بریز و ازش استفاده کن و اون تکس رو بهم قابلیت visibel رو مخفی که نشون نده
Dim Tex as String

tex=Text1.Text

بعد هر جا خواستی ازش استفاده کن ...
البته خیلی راه داره این یکی از راهاش هست

vbhamed
شنبه 24 مرداد 1394, 12:59 عصر
سلام
باید از توابع Api کمک بگیرید
FindWindowEx
GetWindowText
SendMessage
با استفاده از این توابع می‌تونید یک پنجره یا Object رو پیدا کنید و با دستور SendMessage تغییرات مورد نظر رو در اون لحاظ کنید

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

dashali2
شنبه 24 مرداد 1394, 23:07 عصر
درست متوجه نشدم دوست عزیز اما اگه منظورت اینه که متنی که داخل تکس با کپی کنی باید متن رو داخل یه متغیر بریز و ازش استفاده کن و اون تکس رو بهم قابلیت visibel رو مخفی که نشون نده
Dim Tex as String

tex=Text1.Text

بعد هر جا خواستی ازش استفاده کن ...
البته خیلی راه داره این یکی از راهاش هست

در واقع من یه برنامه (مثلا First.exe) دارم که خودم ننوشتمش. می خوام برنامه ای بنویسم (مثلا Second.exe) که اولا برنامه First رو در حالت مخفی اجرا کنه ، بعد دکمه موجود در پنجره اونو کلیک کنه و نتایج رو که بصورت متنی در یک تکست باکس در همون برنامه First هست، استخراج کنه.


سلام
باید از توابع Api کمک بگیرید
FindWindowEx
GetWindowText
SendMessage
با استفاده از این توابع می‌تونید یک پنجره یا Object رو پیدا کنید و با دستور SendMessage تغییرات مورد نظر رو در اون لحاظ کنید

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

من نمی خوام تغییری توی برنامه First بدم. چون تکست باکس اون بصورت متن Read-Only ـه. فقط می خوام اون متن رو استخراج کنم و البته برنامه First مخفی باشه.
هر چند زحمته امکانش هست نمونه کوچکی برام بذارید؟

vbhamed
یک شنبه 25 مرداد 1394, 00:23 صبح
سلام

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

نمونه مثال رو تو گوگل جستجو کنید