Função GetSystemMetrics (winuser.h)

Recupera a métrica do sistema especificada ou a configuração do sistema.

Observe que todas as dimensões recuperadas por GetSystemMetrics estão em pixels.

Sintaxe

int GetSystemMetrics(
  [in] int nIndex
);

Parâmetros

[in] nIndex

Tipo: int

A métrica do sistema ou a definição de configuração a ser recuperada. Esse parâmetro pode usar um dos valores a seguir. Observe que todos os valores SM_CX* são larguras e todos os valores SM_CY* são alturas. Observe também que todas as configurações projetadas para retornar dados boolianos representam TRUE como qualquer valor diferente de zero e FALSE como um valor zero.

Valor Significado
SM_ARRANGE
56
Os sinalizadores que especificam como o sistema organizou janelas minimizadas. Para obter mais informações, consulte a seção Comentários neste tópico.
SM_CLEANBOOT
67
O valor que especifica como o sistema é iniciado:
  • 0 Inicialização normal
  • 1 Inicialização com falha
  • 2 Fail-safe com inicialização de rede
Uma inicialização à prova de falhas (também chamada de SafeBoot, Modo de Segurança ou Inicialização Limpa) ignora os arquivos de inicialização do usuário.
SM_CMONITORS
80
O número de monitores de exibição em uma área de trabalho. Para obter mais informações, consulte a seção Comentários neste tópico.
SM_CMOUSEBUTTONS
43
O número de botões em um mouse ou zero se nenhum mouse estiver instalado.
SM_CONVERTIBLESLATEMODE
0x2003
Reflete o estado do laptop ou modo slate, 0 para Modo Slate e diferente de zero caso contrário. Quando essa métrica do sistema é alterada, o sistema envia uma mensagem de difusão por meio de WM_SETTINGCHANGE com "ConvertibleSlateMode" no LPARAM. Observe que essa métrica do sistema não se aplica a computadores desktop. Nesse caso, use GetAutoRotationState.
SM_CXBORDER
5
A largura de uma borda de janela, em pixels. Isso é equivalente ao valor SM_CXEDGE para janelas com a aparência 3D.
SM_CXCURSOR
13
A largura nominal de um cursor, em pixels.
SM_CXDLGFRAME
7
Esse valor é o mesmo que SM_CXFIXEDFRAME.
SM_CXDOUBLECLK
36
A largura do retângulo ao redor do local de um primeiro clique em uma sequência de clique duplo, em pixels. O segundo clique deve ocorrer dentro do retângulo definido por SM_CXDOUBLECLK e SM_CYDOUBLECLK para que o sistema considere os dois cliques em um clique duplo. Os dois cliques também devem ocorrer dentro de um tempo especificado.

Para definir a largura do retângulo de clique duplo, chame SystemParametersInfo com SPI_SETDOUBLECLKWIDTH.

SM_CXDRAG
68
O número de pixels em ambos os lados de um ponto de mouse para baixo que o ponteiro do mouse pode mover antes do início de uma operação de arrastar. Isso permite que o usuário clique e solte o botão do mouse facilmente sem iniciar acidentalmente uma operação de arrastar. Se esse valor for negativo, ele será subtraído da esquerda do ponto para baixo do mouse e adicionado à direita dele.
SM_CXEDGE
45
A largura de uma borda 3D, em pixels. Essa métrica é a contraparte 3D do SM_CXBORDER.
SM_CXFIXEDFRAME
7
A espessura do quadro ao redor do perímetro de uma janela que tem um legenda, mas não é considerável, em pixels. SM_CXFIXEDFRAME é a altura da borda horizontal e SM_CYFIXEDFRAME é a largura da borda vertical.

Esse valor é o mesmo que SM_CXDLGFRAME.

SM_CXFOCUSBORDER
83
A largura das bordas esquerda e direita do retângulo de foco que o DrawFocusRect desenha. Esse valor está em pixels.

Windows 2000: Não há suporte para esse valor.

SM_CXFRAME
32
Esse valor é o mesmo que SM_CXSIZEFRAME.
SM_CXFULLSCREEN
16
A largura da área do cliente para uma janela de tela inteira no monitor de exibição primário, em pixels. Para obter as coordenadas da parte da tela que não é obscurecida pela barra de tarefas do sistema ou pelas barras de ferramentas da área de trabalho do aplicativo, chame a função SystemParametersInfo com o valor SPI_GETWORKAREA.
SM_CXHSCROLL
21
A largura do bitmap de seta em uma barra de rolagem horizontal, em pixels.
SM_CXHTHUMB
10
A largura da caixa de polegar em uma barra de rolagem horizontal, em pixels.
SM_CXICON
11
A largura grande do sistema de um ícone, em pixels. A função LoadIcon pode carregar somente ícones com as dimensões que SM_CXICON e SM_CYICON especifica. Consulte Tamanhos de ícone para obter mais informações.
SM_CXICONSPACING
38
A largura de uma célula de grade para itens na exibição de ícone grande, em pixels. Cada item se encaixa em um retângulo de tamanho SM_CXICONSPACING por SM_CYICONSPACING quando organizado. Esse valor é sempre maior ou igual a SM_CXICON.
SM_CXMAXIMIZED
61
A largura padrão, em pixels, de uma janela de nível superior maximizada no monitor de exibição primário.
SM_CXMAXTRACK
59
A largura máxima padrão de uma janela que tem um legenda e bordas de dimensionamento, em pixels. Essa métrica refere-se a toda a área de trabalho. O usuário não pode arrastar o quadro da janela para um tamanho maior que essas dimensões. Uma janela pode substituir esse valor processando a mensagem WM_GETMINMAXINFO .
SM_CXMENUCHECK
71
A largura do menu padrão marcar-mark bitmap, em pixels.
SM_CXMENUSIZE
54
A largura dos botões da barra de menus, como o botão de fechamento da janela filho que é usado na interface de vários documentos, em pixels.
SM_CXMIN
28
A largura mínima de uma janela, em pixels.
SM_CXMINIMIZED
57
A largura de uma janela minimizada, em pixels.
SM_CXMINSPACING
47
A largura de uma célula de grade para uma janela minimizada, em pixels. Cada janela minimizada se encaixa em um retângulo desse tamanho quando organizada. Esse valor é sempre maior ou igual a SM_CXMINIMIZED.
SM_CXMINTRACK
34
A largura mínima de acompanhamento de uma janela, em pixels. O usuário não pode arrastar o quadro da janela para um tamanho menor que essas dimensões. Uma janela pode substituir esse valor processando a mensagem WM_GETMINMAXINFO .
SM_CXPADDEDBORDER
92
A quantidade de preenchimento de borda para janelas legendadas, em pixels.

Windows XP/2000: Não há suporte para esse valor.

SM_CXSCREEN
0
A largura da tela do monitor de exibição primário, em pixels. Esse é o mesmo valor obtido chamando GetDeviceCaps da seguinte maneira: GetDeviceCaps( hdcPrimaryMonitor, HORZRES).
SM_CXSIZE
30
A largura de um botão em uma janela legenda ou barra de título, em pixels.
SM_CXSIZEFRAME
32
A espessura da borda de dimensionamento ao redor do perímetro de uma janela que pode ser redimensionada, em pixels. SM_CXSIZEFRAME é a largura da borda horizontal e SM_CYSIZEFRAME é a altura da borda vertical.

Esse valor é o mesmo que SM_CXFRAME.

SM_CXSMICON
49
A largura pequena do sistema de um ícone, em pixels. Ícones pequenos normalmente aparecem em legendas de janela e no modo de exibição de ícone pequeno. Consulte Tamanhos de ícone para obter mais informações.
SM_CXSMSIZE
52
A largura de botões pequenos legenda, em pixels.
SM_CXVIRTUALSCREEN
78
A largura da tela virtual, em pixels. A tela virtual é o retângulo delimitador de todos os monitores de exibição. A métrica SM_XVIRTUALSCREEN são as coordenadas para o lado esquerdo da tela virtual.
SM_CXVSCROLL
2
A largura de uma barra de rolagem vertical, em pixels.
SM_CYBORDER
6
A altura de uma borda de janela, em pixels. Isso é equivalente ao valor SM_CYEDGE para janelas com a aparência 3D.
SM_CYCAPTION
4
A altura de uma área legenda, em pixels.
SM_CYCURSOR
14
A altura nominal de um cursor, em pixels.
SM_CYDLGFRAME
8
Esse valor é o mesmo que SM_CYFIXEDFRAME.
SM_CYDOUBLECLK
37
A altura do retângulo ao redor da localização de um primeiro clique em uma sequência de clique duplo, em pixels. O segundo clique deve ocorrer dentro do retângulo definido por SM_CXDOUBLECLK e SM_CYDOUBLECLK para que o sistema considere os dois cliques em um clique duplo. Os dois cliques também devem ocorrer dentro de um tempo especificado.

Para definir a altura do retângulo de clique duplo, chame SystemParametersInfo com SPI_SETDOUBLECLKHEIGHT.

SM_CYDRAG
69
O número de pixels acima e abaixo de um ponto de mouse para baixo que o ponteiro do mouse pode mover antes que uma operação de arrastar comece. Isso permite que o usuário clique e solte o botão do mouse facilmente sem iniciar involuntariamente uma operação de arrastar. Se esse valor for negativo, ele será subtraído acima do ponto de mouse para baixo e adicionado abaixo dele.
SM_CYEDGE
46
A altura de uma borda 3D, em pixels. Este é o equivalente 3D de SM_CYBORDER.
SM_CYFIXEDFRAME
8
A espessura do quadro ao redor do perímetro de uma janela que tem um legenda mas não é considerável, em pixels. SM_CXFIXEDFRAME é a altura da borda horizontal e SM_CYFIXEDFRAME é a largura da borda vertical.

Esse valor é o mesmo que SM_CYDLGFRAME.

SM_CYFOCUSBORDER
84
A altura das bordas superior e inferior do retângulo de foco desenhado por DrawFocusRect. Esse valor está em pixels.

Windows 2000: Não há suporte para esse valor.

SM_CYFRAME
33
Esse valor é o mesmo que SM_CYSIZEFRAME.
SM_CYFULLSCREEN
17
A altura da área do cliente para uma janela de tela inteira no monitor de exibição primário, em pixels. Para obter as coordenadas da parte da tela não obscurecidas pela barra de tarefas do sistema ou pelas barras de ferramentas da área de trabalho do aplicativo, chame a função SystemParametersInfo com o valor SPI_GETWORKAREA.
SM_CYHSCROLL
3
A altura de uma barra de rolagem horizontal, em pixels.
SM_CYICON
12
A altura grande do sistema de um ícone, em pixels. A função LoadIcon pode carregar apenas ícones com as dimensões que SM_CXICON e SM_CYICON especifica. Consulte Tamanhos de ícone para obter mais informações.
SM_CYICONSPACING
39
A altura de uma célula de grade para itens na exibição de ícone grande, em pixels. Cada item se encaixa em um retângulo de tamanho SM_CXICONSPACING SM_CYICONSPACING quando organizado. Esse valor é sempre maior ou igual a SM_CYICON.
SM_CYKANJIWINDOW
18
Para versões de conjunto de caracteres de bytes duplos do sistema, essa é a altura da janela Kanji na parte inferior da tela, em pixels.
SM_CYMAXIMIZED
62
A altura padrão, em pixels, de uma janela de nível superior maximizada no monitor de exibição primário.
SM_CYMAXTRACK
60
A altura máxima padrão de uma janela que tem uma legenda e bordas de dimensionamento, em pixels. Essa métrica refere-se a toda a área de trabalho. O usuário não pode arrastar o quadro da janela para um tamanho maior que essas dimensões. Uma janela pode substituir esse valor processando a mensagem WM_GETMINMAXINFO .
SM_CYMENU
15
A altura de uma barra de menus de linha única, em pixels.
SM_CYMENUCHECK
72
A altura do menu padrão marcar-mark bitmap, em pixels.
SM_CYMENUSIZE
55
A altura dos botões da barra de menus, como o botão de fechamento da janela filho que é usado na interface de vários documentos, em pixels.
SM_CYMIN
29
A altura mínima de uma janela, em pixels.
SM_CYMINIMIZED
58
A altura de uma janela minimizada, em pixels.
SM_CYMINSPACING
48
A altura de uma célula de grade para uma janela minimizada, em pixels. Cada janela minimizada se encaixa em um retângulo desse tamanho quando organizada. Esse valor é sempre maior ou igual a SM_CYMINIMIZED.
SM_CYMINTRACK
35
A altura mínima de acompanhamento de uma janela, em pixels. O usuário não pode arrastar o quadro da janela para um tamanho menor que essas dimensões. Uma janela pode substituir esse valor processando a mensagem WM_GETMINMAXINFO .
SM_CYSCREEN
1
A altura da tela do monitor de exibição primário, em pixels. Esse é o mesmo valor obtido chamando GetDeviceCaps da seguinte maneira: GetDeviceCaps( hdcPrimaryMonitor, VERTRES).
SM_CYSIZE
31
A altura de um botão em uma janela legenda ou barra de título, em pixels.
SM_CYSIZEFRAME
33
A espessura da borda de dimensionamento ao redor do perímetro de uma janela que pode ser redimensionada, em pixels. SM_CXSIZEFRAME é a largura da borda horizontal e SM_CYSIZEFRAME é a altura da borda vertical.

Esse valor é o mesmo que SM_CYFRAME.

SM_CYSMCAPTION
51
A altura de um pequeno legenda, em pixels.
SM_CYSMICON
50
A altura pequena do sistema de um ícone, em pixels. Ícones pequenos normalmente aparecem em legendas de janela e no modo de exibição de ícone pequeno. Consulte Tamanhos de ícone para obter mais informações.
SM_CYSMSIZE
53
A altura de botões pequenos legenda, em pixels.
SM_CYVIRTUALSCREEN
79
A altura da tela virtual, em pixels. A tela virtual é o retângulo delimitador de todos os monitores de exibição. A métrica SM_YVIRTUALSCREEN são as coordenadas para a parte superior da tela virtual.
SM_CYVSCROLL
20
A altura do bitmap de seta em uma barra de rolagem vertical, em pixels.
SM_CYVTHUMB
9
A altura da caixa de polegar em uma barra de rolagem vertical, em pixels.
SM_DBCSENABLED
42
Diferente de zero se User32.dll der suporte a DBCS; caso contrário, 0.
SM_DEBUG
22
Diferente de zero se a versão de depuração do User.exe estiver instalada; caso contrário, 0.
SM_DIGITIZER
94
Diferente de zero se o sistema operacional atual for o Windows 7 ou o Windows Server 2008 R2 e o serviço de Entrada do Tablet PC for iniciado; caso contrário, 0. O valor retornado é uma máscara de bits que especifica o tipo de entrada do digitalizador compatível com o dispositivo. Para obter mais informações, consulte Comentários.

Windows Server 2008, Windows Vista e Windows XP/2000: Não há suporte para esse valor.

SM_IMMENABLED
82
Diferente de zero se o Gerenciador de Métodos de Entrada/Método de Entrada Editor recursos estiverem habilitados; caso contrário, 0.

SM_IMMENABLED indica se o sistema está pronto para usar um IME baseado em Unicode em um aplicativo Unicode. Para garantir que um IME dependente de idioma funcione, marcar SM_DBCSENABLED e a página de código ANSI do sistema. Caso contrário, a conversão ANSI para Unicode pode não ser executada corretamente ou alguns componentes, como fontes ou configurações do Registro, podem não estar presentes.

SM_MAXIMUMTOUCHES
95
Diferente de zero se houver digitalizadores no sistema; caso contrário, 0.

SM_MAXIMUMTOUCHES retorna o máximo agregado do número máximo de contatos com suporte de cada digitalizador no sistema. Se o sistema tiver apenas digitalizadores de toque único, o valor retornado será 1. Se o sistema tiver digitalizadores de vários toques, o valor retornado será o número de contatos simultâneos que o hardware pode fornecer.

Windows Server 2008, Windows Vista e Windows XP/2000: Não há suporte para esse valor.

SM_MEDIACENTER
87
Diferente de zero se o sistema operacional atual for o Windows XP, Media Center Edition, 0 se não for.
SM_MENUDROPALIGNMENT
40
Diferente de zero se os menus suspensos estiverem alinhados à direita com o item da barra de menus correspondente; 0 se os menus estiverem alinhados à esquerda.
SM_MIDEASTENABLED
74
Diferente de zero se o sistema estiver habilitado para idiomas hebraicos e árabes, 0 se não estiver.
SM_MOUSEPRESENT
19
Diferente de zero se um mouse estiver instalado; caso contrário, 0. Esse valor raramente é zero, devido ao suporte para ratos virtuais e porque alguns sistemas detectam a presença da porta em vez da presença de um mouse.
SM_MOUSEHORIZONTALWHEELPRESENT
91
Diferente de zero se um mouse com uma roda de rolagem horizontal estiver instalado; caso contrário, 0.
SM_MOUSEWHEELPRESENT
75
Diferente de zero se um mouse com uma roda de rolagem vertical estiver instalado; caso contrário, 0.
SM_NETWORK
63
O bit menos significativo será definido se uma rede estiver presente; caso contrário, ele será limpo. Os outros bits são reservados para uso futuro.
SM_PENWINDOWS
41
Diferente de zero se as extensões de computação do Microsoft Windows para Caneta estiverem instaladas; caso contrário, zero.
SM_REMOTECONTROL
0x2001
Essa métrica do sistema é usada em um ambiente de Serviços de Terminal para determinar se a sessão atual do Terminal Server está sendo controlada remotamente. Seu valor será diferente de zero se a sessão atual for controlada remotamente; caso contrário, 0.

Você pode usar ferramentas de gerenciamento de serviços de terminal, como o Gerenciador de Serviços de Terminal (tsadmin.msc) e shadow.exe para controlar uma sessão remota. Quando uma sessão está sendo controlada remotamente, outro usuário pode exibir o conteúdo dessa sessão e potencialmente interagir com ela.

SM_REMOTESESSION
0x1000
Essa métrica do sistema é usada em um ambiente de Serviços de Terminal. Se o processo de chamada estiver associado a uma sessão de cliente dos Serviços de Terminal, o valor retornado será diferente de zero. Se o processo de chamada estiver associado à sessão de console dos Serviços de Terminal, o valor retornado será 0. Windows Server 2003 e Windows XP: A sessão do console não é necessariamente o console físico. Para obter mais informações, consulte WTSGetActiveConsoleSessionId.
SM_SAMEDISPLAYFORMAT
81
Diferente de zero se todos os monitores de exibição tiverem o mesmo formato de cor, caso contrário, 0. Duas telas podem ter a mesma profundidade de bit, mas formatos de cor diferentes. Por exemplo, os pixels vermelho, verde e azul podem ser codificados com números diferentes de bits ou esses bits podem estar localizados em locais diferentes em um valor de cor de pixel.
SM_SECURE
44
Essa métrica do sistema deve ser ignorada; ele sempre retorna 0.
SM_SERVERR2
89
O número de build se o sistema for Windows Server 2003 R2; caso contrário, 0.
SM_SHOWSOUNDS
70
Diferente de zero se o usuário exigir que um aplicativo apresente informações visualmente em situações em que, de outra forma, ele apresentaria as informações apenas de forma audível; caso contrário, 0.
SM_SHUTTINGDOWN
0x2000
Diferente de zero se a sessão atual estiver sendo fechada; caso contrário, 0.

Windows 2000: Não há suporte para esse valor.

SM_SLOWMACHINE
73
Diferente de zero se o computador tiver um processador de baixo nível (lento) ; caso contrário, 0.
SM_STARTER
88
Diferente de zero se o sistema operacional atual for Windows 7 Starter Edition, Windows Vista Starter ou Windows XP Starter Edition; caso contrário, 0.
SM_SWAPBUTTON
23
Diferente de zero se os significados dos botões esquerdo e direito do mouse forem trocados; caso contrário, 0.
SM_SYSTEMDOCKED
0x2004
Reflete o estado do modo de encaixe, 0 para Modo Desencaixado e diferente de zero caso contrário. Quando essa métrica do sistema é alterada, o sistema envia uma mensagem de difusão por meio de WM_SETTINGCHANGE com "SystemDockMode" no LPARAM.
SM_TABLETPC
86
Diferente de zero se o sistema operacional atual for o Windows XP Tablet PC edition ou se o sistema operacional atual for Windows Vista ou Windows 7 e o serviço tablet PC Input for iniciado; caso contrário, 0. A configuração SM_DIGITIZER indica o tipo de entrada do digitalizador compatível com um dispositivo que executa o Windows 7 ou o Windows Server 2008 R2. Para obter mais informações, consulte Comentários.
SM_XVIRTUALSCREEN
76
As coordenadas para o lado esquerdo da tela virtual. A tela virtual é o retângulo delimitador de todos os monitores de vídeo. A métrica SM_CXVIRTUALSCREEN é a largura da tela virtual.
SM_YVIRTUALSCREEN
77
As coordenadas para a parte superior da tela virtual. A tela virtual é o retângulo delimitador de todos os monitores de vídeo. A métrica SM_CYVIRTUALSCREEN é a altura da tela virtual.

Retornar valor

Tipo: int

Se a função for bem-sucedida, o valor retornado será a métrica do sistema solicitada ou a definição de configuração.

Se a função falhar, o valor retornado será 0. GetLastError não fornece informações de erro estendidas.

Comentários

As métricas do sistema podem variar de exibição para exibição.

GetSystemMetrics(SM_CMONITORS) conta apenas monitores de exibição visíveis. Isso é diferente de EnumDisplayMonitors, que enumera monitores de exibição visíveis e pseudo-monitores invisíveis associados a drivers de espelhamento. Um pseudo-monitor invisível é associado a um pseudo-dispositivo usado para espelho desenho de aplicativo para comunicação remota ou outras finalidades.

A configuração SM_ARRANGE especifica como o sistema organiza janelas minimizadas e consiste em uma posição inicial e uma direção. A posição inicial pode ser um dos valores a seguir.

Valor Significado
ARW_BOTTOMLEFT Comece no canto inferior esquerdo da tela. A posição padrão.
ARW_BOTTOMRIGHT Comece no canto inferior direito da tela. Equivalente a ARW_STARTRIGHT.
ARW_TOPLEFT Comece no canto superior esquerdo da tela. Equivalente a ARW_STARTTOP.
ARW_TOPRIGHT Comece no canto superior direito da tela. Equivalente a ARW_STARTTOP | SRW_STARTRIGHT.
 

A direção na qual organizar janelas minimizadas pode ser um dos valores a seguir.

Valor Significado
ARW_DOWN Organize verticalmente, de cima para baixo.
ARW_HIDE Ocultar janelas minimizadas movendo-as para fora da área visível da tela.
ARW_LEFT Organize horizontalmente, da esquerda para a direita.
ARW_RIGHT Organize horizontalmente, da direita para a esquerda.
ARW_UP Organize verticalmente, de baixo para cima.
 

A configuração SM_DIGITIZER especifica o tipo de digitalizadores instalados em um dispositivo que executa o Windows 7 ou o Windows Server 2008 R2. O valor retornado é uma máscara de bits que especifica um ou mais dos valores a seguir.

Valor Significado
NID_INTEGRATED_TOUCH

0x01

O dispositivo tem um digitalizador de toque integrado.
NID_EXTERNAL_TOUCH

0x02

O dispositivo tem um digitalizador de toque externo.
NID_INTEGRATED_PEN

0x04

O dispositivo tem um digitalizador de caneta integrado.
NID_EXTERNAL_PEN

0x08

O dispositivo tem um digitalizador de caneta externo.
NID_MULTI_INPUT

0x40

O dispositivo dá suporte a várias fontes de entrada do digitalizador.
NID_READY

0x80

O dispositivo está pronto para receber a entrada do digitalizador.
 

Essa API não tem reconhecimento de DPI e não deve ser usada se o thread de chamada estiver ciente do DPI por monitor. Para obter a versão com reconhecimento de DPI dessa API, consulte GetSystemMetricsForDPI. Para obter mais informações sobre o reconhecimento de DPI, consulte a documentação do Windows High DPI.

Exemplos

O exemplo a seguir usa a função GetSystemMetrics para determinar se um mouse está instalado e se os botões do mouse são trocados. O exemplo também usa a função SystemParametersInfo para recuperar o limite e a velocidade do mouse. Ele exibe as informações no console.

#include <windows.h>
#include <stdio.h>
#pragma comment(lib, "user32.lib")

void main()
{
   BOOL fResult;
   int aMouseInfo[3];
 
   fResult = GetSystemMetrics(SM_MOUSEPRESENT); 
 
   if (fResult == 0) 
      printf("No mouse installed.\n"); 
   else 
   { 
      printf("Mouse installed.\n");

      // Determine whether the buttons are swapped. 

      fResult = GetSystemMetrics(SM_SWAPBUTTON); 
 
      if (fResult == 0) 
         printf("Buttons not swapped.\n"); 
      else printf("Buttons swapped.\n");
 
      // Get the mouse speed and the threshold values. 
 
      fResult = SystemParametersInfo(
         SPI_GETMOUSE,  // get mouse information 
         0,             // not used 
         &aMouseInfo,   // holds mouse information 
         0);            // not used 

      if( fResult )
      { 
         printf("Speed: %d\n", aMouseInfo[2]); 
         printf("Threshold (x,y): %d,%d\n", 
            aMouseInfo[0], aMouseInfo[1]); 
      }
   } 
}

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winuser.h (inclua Windows.h)
Biblioteca User32.lib
DLL User32.dll
Conjunto de APIs ext-ms-win-ntuser-sysparams-ext-l1-1-0 (introduzido no Windows 8)

Confira também

Enumdisplaymonitors

GetSystemMetricsForDPI

SystemParametersInfo