multiple-monitors - كلمة - معنى display في المكيف




ما الذي يحدد الشاشة التي يتم تشغيل تطبيقي عليها؟ (8)

أنا متأكد من أن جهاز العرض الأساسي هو الإعداد الافتراضي. إذا تم ترميز التطبيق بطريقة صحيحة ، فعند إغلاقه ، سيتذكر المكان الذي كان فيه آخر مرة وستتم إعادة فتحه هناك ، ولكن - كما لاحظت - لا يعد هذا السلوك افتراضيًا.

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

- كيفين فيرتشايلد

أستخدم Windows ، ولدي شاشتان.

ستبدأ بعض التطبيقات دائمًا على الشاشة الرئيسية ، بغض النظر عن مكانها عندما أغلقتها.

سيبدأ الآخرون دائمًا في جهاز العرض الثانوي ، بغض النظر عن مكانهم عندما أغلقتهم.

هل هناك إعداد تسجيل مدفون في مكان ما ، والذي يمكنني التحكم فيه للتحكم في تطبيقات المراقبة التي يتم تشغيلها بشكل افتراضي؟

rp: لدي Ultramon ، وأنا أوافق على أنه لا غنى عنه ، لدرجة أن مايكروسوفت يجب أن تشتريه وتدرجه في نظام التشغيل الخاص بهم. ولكن كما قلت ، لا يسمح لك بالتحكم في الشاشة الافتراضية التي يتم تشغيل البرنامج فيها.


إنها ليست بالضبط الإجابة على هذا السؤال ولكني تعاملت مع هذه المشكلة مع اختصار Shift + Win + [left,right] arrow keys . يمكنك نقل الإطار النشط حاليًا إلى شاشة أخرى معه.


انقر بزر الماوس الأيمن على الاختصار وحدد الخصائص. تأكد من أنك في علامة التبويب "اختصار". حدد المربع المنسدل RUN وقم بتغييره إلى Maximized.

قد يساعد هذا في إطلاق البرنامج في وضع ملء الشاشة على جهاز العرض الأساسي.


لا تحملني على هذا لكنني متأكد من أنه يعتمد على التطبيق الذاتي. أعلم أن العديد منها مفتوح دائمًا على الشاشة الرئيسية ، سيتم إعادة فتح بعضها على نفس الشاشة التي كانت تعمل بها سابقًا ، وبعضها يمكن ضبطه. وأنا أعلم على سبيل المثال لدي اختصارات لفتح نوافذ الأوامر إلى أدلة معينة ، ولكل منها خيار في خصائصها إلى الموقع لفتح النافذة فيها. بينما يتذكر Outlook فقط ويفتح في آخر شاشة كان مفتوحًا فيها. ثم تطبيقات أخرى فتح في أي نافذة من أي وقت مضى التركيز الحالي في.

ﻟذا ، ﻟﺳت ﻣﺗﺄﻛدًا ﻣن أن ھﻧﺎك طرﯾﻘﺔ ﻹﺧﺑﺎر ﻛل ﺑرﻧﺎﻣﺞ ﻣن أﺟل ﻓﺗﺢ. نأمل أن يساعد البعض.


لذلك واجهت هذه المشكلة مع برنامج Adobe Reader 9.0. بطريقة ما ، نسى البرنامج أن يفتح على شاشة يمين بلدي وكان يفتح باستمرار على الشاشة اليسرى. تسمح لك معظم البرامج بسحبها ، وتكبير الشاشة ، ثم إغلاقها وتذكرها. حسنًا ، مع Adobe ، اضطررت إلى سحبه ثم إغلاقه قبل تكبيره ، لكي يتذكر Windows أي الشاشة لفتحه في المرة القادمة. بمجرد تعيينه على الشاشة الصحيحة ، يمكنك تكبيره. أعتقد أن هذا أمر غبي ، حيث أن جميع برامج windows تقريباً تتذكره تلقائياً دون محاولة توضيع طريقة يتذكرها XP.


لقد لاحظت أنه إذا وضعت اختصارًا على سطح المكتب على شاشة واحدة ، فقد يظهر التطبيق الذي تم تشغيله على هذه الشاشة ( إذا كان هذا التطبيق لا يعيد وضع نفسه).

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

مرة أخرى - أعتقد أن هذا هو عندما يحدد تطبيق الإطلاق الوضع الافتراضي (إدارة النوافذ). يبدو أن معظم التطبيقات لتجاوز هذا السلوك الافتراضي بطريقة ما.

نافذة بسيطة تم إنشاؤها هكذا ستفعل ذلك:

hWnd = CreateWindow (windowClass ، windowTitle ، WS_VISIBLE | WS_OVERLAPPEDWINDOW ، CW_USEDEFAULT ، SW_SHOW ، CW_USEDEFAULT ، 0 ، NULL ، NULL ، hInst ، NULL)؛


هذا ما وجدته إذا كنت تريد فتح تطبيق ما على جهاز العرض الثانوي بشكل افتراضي ، فعليك إجراء ما يلي:

1. Open the application.
2. Re-size the window so that it is not maximized or minimized.
3. Move the window to the monitor you want it to open on by default.
4. Close the application.  Do not re-size prior to closing.
5. Open the application.
   It should open on the monitor you just moved it to and closed it on.
6. Maximize the window.

سيتم فتح التطبيق الآن على هذه الشاشة بشكل افتراضي. إذا كنت تريد تغييره إلى جهاز آخر ، فما عليك سوى اتباع الخطوات من 1 إلى 6 مرة أخرى.


تطبيقات Windows المكتوبة بشكل صحيح التي تريد حفظ موقعها من التشغيل إلى التشغيل GetWindowPlacement() نتائج GetWindowPlacement() قبل إيقاف التشغيل ، ثم تستخدم SetWindowPlacement() عند بدء التشغيل لاستعادة موضعها.

في كثير من الأحيان ، تخزن التطبيقات نتائج GetWindowPlacement() في السجل باعتبارها REG_BINARY للاستخدام السهل.

يحتوي المسار WINDOWPLACEMENT العديد من المزايا عبر أساليب أخرى:

  • يتعامل مع الحالة التي تغير فيها دقة الشاشة منذ آخر تشغيل: سيضمن SetWindowPlacement() تلقائيًا أن النافذة ليست خارج الشاشة تمامًا
  • يحفظ الحالة (تصغير / تكبير) ولكنه يحفظ أيضًا الحجم والموضع المستعاد (العادي)
  • يتعامل مع مقاييس سطح المكتب بشكل صحيح ، ويعوض عن موضع شريط المهام ، وما إلى ذلك (أي يستخدم "إحداثيات مساحة العمل" بدلاً من "إحداثيات الشاشة" - قد تعاني التقنيات التي تعتمد على حفظ إحداثيات الشاشة من مشكلة "نوافذ السير" حيث تظهر النافذة دائمًا أقل قليلا في كل مرة إذا كان المستخدم لديه شريط أدوات في الجزء العلوي من الشاشة).

وأخيرًا ، ستأخذ البرامج التي تعالج استعادة النوافذ بشكل صحيح في الاعتبار معلمة nCmdShow تم تمريرها من shell. يتم تعيين هذه المعلمة في الاختصار الذي يقوم بتشغيل التطبيق (عادي ، مصغر ، تكبير):

if(nCmdShow != SW_SHOWNORMAL)
    placement.showCmd = nCmdShow; //allow shortcut to override

بالنسبة للتطبيقات غير التابعة لـ Win32 ، من المهم التأكد من أن الطريقة التي تستخدمها لحفظ / استعادة موضع النافذة تستخدم في النهاية المكالمة الأساسية نفسها ، وإلا (مثل مشكلة getBounds() / getBounds() Java Swing سوف ينتهي بك الأمر كتابة الكثير من التعليمات البرمجية الإضافية لإعادة تنفيذ الوظيفة الموجودة بالفعل في وظائف WINDOWPLACEMENT .