سؤال

قصة طويلة جدا، أحاول أتمتة بعض الأشياء عندما يحدق جهاز الكمبيوتر الخاص بي. اعتقدت أنني سأكتب تطبيق وحدة التحكم C # للقيام بذلك ثم قم بإضافته إلى مهمة جدولة في Windows ليتم تنفيذه على Bootup. مشكلتي هي مع برنامج واحد، فهو يتطلب كلمة مرور ولا تحتوي على أي خيارات لفتحها عبر سطر الأوامر. وبالتالي يجب إدخالها يدويا. كان فكرتي لاسترداد كلمة المرور الخاصة بي من قاعدة بيانات Keepass واستخدام sendkeys لإدخال كلمة المرور وتسجيل الدخول إلى البرنامج. المشكلة التي أواجهها هي الوقت الذي يستغرق تحميله؛ ليس لدي أي طريقة للكشف عند تحميل واجهة واجهة المستخدم الرسومية وهي جاهزة لسنداتي. هل هناك أي طريقة للكشف عن هذا؟ أفترض أن كل ما يجب أن أعمل به هو فئة "العملية" لأن هذا ما اعتدت تشغيل البرنامج. لاحظ أيضا أنه عندما أقوم بتشغيل الملف التنفيذي باستخدام Process.Start ()، يقوم البرنامج بإنشاء عملية أخرى لتسجيل الدخول، ولكن ليس لديها نافذة مرتبطة أنه يمكنني رؤيته باستخدام مكالمات Windows API.

حسنا، كان طويلا، يمكنني إعادة كاب ...

المشكلة: من C # الكشف عند تحميل برنامج طرف ثالث (I.E.E. شاشة البداية ذهبت و GUI جاهزة لتفاعل المستخدم - وهذا يعني أنني لا أستطيع الاعتماد فقط إذا كانت العملية تعمل أم لا). أيضا، لا توجد خيارات سطر الأوامر لبرنامج الطرف الثالث، أو أود تشغيلها فقط بكلمة المرور كوسيطة.

الهدف: لاستخدام Sendkeys من أجل أتمتة إدخال كلمة مرور، ولكن يجب أن ينتظر برنامجي تطبيق الطرف الثالث لإنهاء التحميل.

ملاحظات: باستخدام تطبيق C # .NET 3.5 وحدة التحكم لا يكتشف الحمل من أجل النموذج الخاص بي ولكن طرف ثالث خلاف ذلك سيكون هذا سهلا (أي حدث Form_Loaded ...)

شكرا لك على النظر إلى سؤالي، إذا كنت تريد المزيد من التفاصيل أو أي شيء، فأخبرني بذلك.

تحديث :

حل المشكلة! الإجابات التي تلقيتها مجتمعة لإعطائي الحل الذي أردت. لذلك إذا نجح أي شخص في وقت لاحق، فهذا ما فعلته لجعله يعمل.

لذلك يقوم هذا البرنامج بأتمتة تسجيل الدخول لبعض برامج العميل التي يجب عليك تسجيل الدخول إليها. كانت مشكلتي أن البرنامج لم يقدم عدم خيار أو توثيق لمحاماة سطر الأوامر التي تقدمها العديد من البرامج الأخرى حتى تتمكن من تسجيل الدخول باستخدام KeyFile أو شيء ما. يتمتع هذا البرنامج أيضا بتعطيل النسخة والصقه حتى يتم كتابة كلمة المرور في يدويا، وهو ألم كبير إذا كنت تستخدم كلمات المرور كما أفعل، معقدة طويلة مع عدم وجود أنماط. لذلك كتبت هذا البرنامج لصالحي أيضا في العمل؛ أنا فقط قم بجدولة تشغيله في تسجيل الدخول إلى جهاز Windows الخاص بي ويفتح برنامج العميل وأداء تسجيل الدخول تلقائيا.

giveacodicetagpre.

هل كانت مفيدة؟

المحلول

يمكنك التحقق مع process.wayforinputidle بعد بدء عملية، وانتظر حتى يتم البدء بالكامل، إليك المثال البسيط:

p> http://msdn.microsoft.COM / EN-US / Library / XB73D10T٪ 28V= vs.ass71٪ 29.aspx

نصائح أخرى

حاول النظر إلى ذلك: http://www.aacoolsip.com/a-cool-blog/science-and-technology/151-c-sendending-commands-to-independent-windows.html

يمكنك التحقق مما إذا ظهرت النافذة (باستخدام الرابط) ثم إرسال الرسائل (أيضا على الرابط)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top