سؤال

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

لقد قمت حتى الآن بتعيين Topmim = true و WindowStyle = WindowStyle.NONE و WindowState = WindowState.Maximized الذي يحقق معظم ما أحتاجه ، لكنني ما زلت أحصل على مثيلات يصبح فيها شريط المهام مرئيًا. لقد حاولت تنفيذ سلوك LostFocus على النافذة ، لكن هذا لا يبدو أنه يعطيني السلوك الذي أحتاجه.

هل يمكن لأي شخص أن يوجهني في الاتجاه الذي أحتاجه لتنفيذ هذا السلوك من فضلك؟

معلومات إضافية
لسوء الحظ ، فإن طبيعة هذا المشروع بحيث لا يمكننا تغيير آلات العميل ، وهم يديرون مزيجًا من XP و Vista و Win7. أجهزة الكمبيوتر ليست مملوكة لنا ، ولكن يجب استخدامها لتسليم المحتوى بطريقة آمنة قدر الإمكان. يدرك أصحاب أجهزة الكمبيوتر القياسية قيود تشغيل البرنامج ، ويسعدهم أن "مغلقون" أثناء تنفيذ تطبيقنا ، لكن لا يمكن تغييرها.

طرق أخرى
هاكونب ذكر تطبيق Babysmash سكوت هانسلمان ، لذلك ذهبت للبحث عن طريقته في التعامل مع الموقف. كما يقول Hakonb ، إنها ليست أنظف طريقة للتعامل مع التركيز المفقود ، ولكن يبدو أنها تعمل ، أو على الأقل يجب أن تفعل حتى أجد حلًا أفضل. إنه يستخدم مؤقتًا يطلق النار على كل ثانية ، ويطلق النار على استدعاء إلى user32.dll's setForeGroundWindow (IntPtr HWND) للاستيلاء على التركيز ، بغض النظر عما إذا كان لديه التركيز أم لا. شكرا على الرؤوس ، هاكونب!

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

المحلول

ألق نظرة على Babysmash سكوت هانسلمان. يمكنك العثور على الموقع في بابيسماش

كان لديه اثنين من إدخالات المدونة تصف عمله لتقديم الطلب. إنه يتميز بتطبيق آمن للأطفال في وضع كشك.

يمكنك العثور على المشروع على codeplex

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