Dela via


Använda konfigurationsfunktionerna för High-Level Monitor

Räkna upp fysiska övervakare

Det finns flera funktioner som räknar upp visningsenheter, bland annat EnumDisplayMonitors och MonitorFromWindow. Dessa funktioner dokumenteras i Windows GDI-dokumentationen under avsnittet flera bildskärmar. Dessa funktioner returnerar HMONITOR- hanterare. Trots namnet kan dock ett HMONITOR- handtag associeras med mer än en fysisk skärm. För att konfigurera inställningarna på en monitor måste programmet få en unik identifierare till den fysiska monitorn genom att anropa GetPhysicalMonitorsFromHMONITOR.

Om ditt program använder Direct3D kan du hämta ett bildskärmshandtag från en Direct3D-enhet genom att anropa GetPhysicalMonitorsFromIDirect3DDevice9.

Funktioner som stöds

En bildskärm kanske inte stöder alla bildskärmskonfigurationsfunktioner. Om du vill ta reda på vilka funktioner en övervakare stöder anropar du GetMonitorCapabilities.

Inställningar för kontinuerlig övervakning

En kontinuerlig övervakningsinställning är en inställning som kan variera mellan ett minsta och högsta värde. De flesta övervakningskonfigurationsfunktioner på hög nivå styr inställningar för kontinuerlig övervakning. Ljusstyrka och kontrast är till exempel kontinuerliga inställningar.

Inställningar för kontinuerlig övervakning har inte definierade verkliga enheter. Enheterna är godtyckliga och kan variera från en tillverkare till en annan. Om två bildskärmar till exempel har samma ljusstyrka kan en bildskärm se mycket ljusare ut än en annan. Vanligtvis visar ett program skjutreglage eller upp-och-ned-kontroller för användaren. Användaren kan sedan justera inställningarna för att ge bästa möjliga subjektiva kvalitet.

Ändringar i övervakningstillstånd

En övervakare kan ändra tillstånd av olika orsaker, bland annat:

  • Användaren ändrar inställningarna med skärmens knappar på framsidan.
  • Användaren ändrar bildskärmens skärmupplösning, uppdateringshastighet eller bitdjup.
  • Programmet använder övervakningsfunktionerna på låg nivå för att ändra en inställning som inte är tillgänglig från högnivåfunktionerna.
  • Programmet anropar RestoreMonitorFactoryColorDefaults eller RestoreMonitorFactoryDefaults.

Alla dessa händelser kan ändra övervakningsinställningarna. De kan också ändra minimi- och maxvärdet för en inställning.

Beroenden bland övervakningsinställningar

Om du ändrar färgtemperaturen kan du förändra de aktuella drivinställningarna och förstärkningsinställningarna, och det motsatta gäller också. Det här är de enda beroendena bland övervakningskonfigurationsfunktionerna på hög nivå. Andra inställningar kan endast vara tillgängliga via övervakningsfunktioner på låg nivå. Det kan finnas beroenden mellan dessa inställningar och inställningarna på hög nivå. Dessa beroenden är leverantörsspecifika. Ett program kan hantera det här problemet på flera sätt:

  • Använd endast högnivåfunktioner.
  • När du har anropat en lågnivåfunktion hämtar du det aktuella värdet för varje övervakningsinställning. Tyvärr kan den här metoden vara långsam eftersom det tar cirka 40 millisekunder att hämta varje inställning.
  • Använd endast lågnivåfunktioner med specifika övervakningsmodeller vars beteende du förstår.

Inaktiverade övervakningsinställningar

Ett program kan inte inaktivera några övervakningsinställningar genom att anropa övervakningsfunktioner på hög nivå. Ett program kan dock av misstag inaktivera en inställning om den använder lågnivåfunktionerna för att ändra en övervakningsinställning som inte stöds av högnivåfunktionerna. En användare kan också inaktivera en inställning med hjälp av kontrollen på framsidan. Dessa beteenden är leverantörsspecifika.

Om en övervakningsinställning inaktiveras, misslyckas alla funktioner som anger eller hämtar den inställningen och anger den senaste felkoden till ERROR_DISABLED_MONITOR_SETTING. När detta inträffar kan programmet göra något av följande:

  • Visa ett felmeddelande och föreslå för användaren att han eller hon försöker justera inställningen med hjälp av kontrollen på frontpanelen.
  • Anropa funktionen RestoreMonitorFactoryDefaults. Om en bildskärm har flaggan MC_RESTORE_FACTORY_DEFAULTS_ENABLES_MONITOR_SETTINGS, aktiverar den här funktionen alla de bildskärmsinställningar som stöds av hög-nivå bildskärmsfunktioner. Tyvärr återställer funktionen även övervakningsinställningarna till fabriksstandarden.

Använda för övervakningskonfiguration