PDA

View Full Version : سوال: ارسال متن به 2 Textbox در يك برنامه ديگر!



ali_najari
چهارشنبه 22 دی 1389, 16:45 عصر
سلام
من 2 تا پروژه دارم (2تا فايل اجرايي) كه در ارتباط با هم ميباشند كه در هر 2 فرم Login وجود داره!
خوب حال من ميخوام كه فايل اجرايي 2 رو توسط فايل اجرايي 1 باز كنم و يك Username و Password به فرم login اون بفرستم
من فايل اجرايي دوم رو با دستور Shell باز ميكنم و ID اون رو هم ميگيرم از طريق كد زير:


Dim StartId as Integer
StartId = Shell("C:\test2.exe")
حال من چطور ميتونم مقادير خودم رو به TextUser كه براي Username و TextPass كه براي Password در نظر گرفتم بفرستم؟ و همچنيد فرمان اجرا رو براش صادر كنم؟

فقط اين نكته رو هم بگم كه نميخوام از دستور sendkey استفاده كنم چون ممكن هست كه برنامه Focus نباشه!

omid-vbAuto
چهارشنبه 22 دی 1389, 17:49 عصر
سلام
من 2 تا پروژه دارم (2تا فايل اجرايي) كه در ارتباط با هم ميباشند كه در هر 2 فرم Login وجود داره!
خوب حال من ميخوام كه فايل اجرايي 2 رو توسط فايل اجرايي 1 باز كنم و يك Username و Password به فرم login اون بفرستم
من فايل اجرايي دوم رو با دستور Shell باز ميكنم و ID اون رو هم ميگيرم از طريق كد زير:


Dim StartId as Integer
StartId = Shell("C:\test2.exe")
حال من چطور ميتونم مقادير خودم رو به TextUser كه براي Username و TextPass كه براي Password در نظر گرفتم بفرستم؟ و همچنيد فرمان اجرا رو براش صادر كنم؟

فقط اين نكته رو هم بگم كه نميخوام از دستور sendkey استفاده كنم چون ممكن هست كه برنامه Focus نباشه!

مهندس منظورتون از لوگین چیه؟میشه بیشتر توضیح بدین.اگه یه نمونه برنامه بدین می تونم مشکلتونو حل کنم.راستی از کدوم روش دوس دارین مشکل شما حل بشه؟با API یا بدون API ؟

ali_najari
چهارشنبه 22 دی 1389, 23:41 عصر
ببينيد شما يه فرم داريد واسه اينكه Username و Password رو از كاربر دريافت ميكنيد و مقايسه ميكنيد در صورتي كه درست بود آنگاه وارد صفحه اصلي برنامه ميشيد!

فقط اين موضوع رو بگم كه فرق نداره با Api باشه يا نه فقط ميخوام توي نسخه هاي مختلف ويندوز جواب بده

omid-vbAuto
پنج شنبه 23 دی 1389, 00:22 صبح
ببينيد شما يه فرم داريد واسه اينكه Username و Password رو از كاربر دريافت ميكنيد و مقايسه ميكنيد در صورتي كه درست بود آنگاه وارد صفحه اصلي برنامه ميشيد!

فقط اين موضوع رو بگم كه فرق نداره با Api باشه يا نه فقط ميخوام توي نسخه هاي مختلف ويندوز جواب بده

OK
راحترش بدون API هستش.

حالا شما اون دو تا برنامه رو بذار تا برات درستش کنم.در ضمن دقیقا هم بگو که چه انتظاری از برنامه ها داری.ببخشید من حوصله شو ندارم که کداشو برات بنویسم.ولی اگه خواستی برنامه هاتو بذار تا درستشون کنم.

sina_saravi1
پنج شنبه 23 دی 1389, 11:09 صبح
اگه هر دو برنامه مال خودتونه ، به نظر من برنامه دوم رو با پارامتر باز کن و پارامتر های ارسالی رو تو تکست باکس های برنامه دوم نشون بده
این روش خیلی بهتر از API هست چون درد سر نداره ( حتی یاهو مسنجر هم از این روش استفاده میکنه )

hossein-khoshseyar
پنج شنبه 23 دی 1389, 13:27 عصر
چرا از همون sendkey استفاده نمی کنی
اگه دلیلیت فقط فوکوس نبودن هست می تونی اول توسط این برنامه جاری فوکوس رو روی اون برنامه دومت ببری بعد با sendkey متنت رو براشبفرستی و اگه خواستی دوباره فوکوس رو برگردونی سر برنامه قبلیت

ali_najari
پنج شنبه 23 دی 1389, 14:11 عصر
اگه هر دو برنامه مال خودتونه ، به نظر من برنامه دوم رو با پارامتر باز کن و پارامتر های ارسالی رو تو تکست باکس های برنامه دوم نشون بده
این روش خیلی بهتر از API هست چون درد سر نداره ( حتی یاهو مسنجر هم از این روش استفاده میکنه )

دوست عزيز مشه يه مثال بزنيد كه چگونه با پارامتر بازش كنم؟
يعني چطور بگم كدوم متن براي كدام textbox هستش؟

sina_saravi1
پنج شنبه 23 دی 1389, 14:34 عصر
شما تو برنامه دوم پارامتر های ورودی هنگام اجرا رو بخونید و تو تکست باکس ها نشون بدید
برای باز کردن نرم افزار دوم با پارامتر تو نرم افزار اول از کد زیر استفاده کن :



Process.Start("C:/app2.exe p1 p2")


که p1 و p2 پارامتر های ارسالی هستن

ali_najari
پنج شنبه 23 دی 1389, 23:40 عصر
شما تو برنامه دوم پارامتر های ورودی هنگام اجرا رو بخونید و تو تکست باکس ها نشون بدید
برای باز کردن نرم افزار دوم با پارامتر تو نرم افزار اول از کد زیر استفاده کن :



Process.Start("C:/app2.exe p1 p2")


که p1 و p2 پارامتر های ارسالی هستن

دوست عزيز ممنون از راهنماييتون ولي من خودم پيدا كردم كه چطوري بايد اين كار رو انجام داد و زماني كه آماده شد واسه ديگران هم ميزارم تا بتونن ازش استفاده كنند!

اين نكته رو اشاره كنم كه كدي كه شما نوشته بوديد مشكل داشت و شيوه درست آن به صورت زير خواهد بود:


Process.Start("C:\test.exe", " P1 P2")

sina_saravi1
جمعه 24 دی 1389, 00:19 صبح
دوست عزيز ممنون از راهنماييتون ولي من خودم پيدا كردم كه چطوري بايد اين كار رو انجام داد و زماني كه آماده شد واسه ديگران هم ميزارم تا بتونن ازش استفاده كنند!

اين نكته رو اشاره كنم كه كدي كه شما نوشته بوديد مشكل داشت و شيوه درست آن به صورت زير خواهد بود:


Process.Start("C:\test.exe", " P1 P2")

ممنونم از اینکه کدم رو اصلاح کردید