我是我公司的 IT 人員,我們的多個用戶對計算機知之甚少。我們有多個帶有碼頭和外接顯示幕的停靠站。因此,用戶在移動到不同的站點時會遇到顯示問題。監視器調整大小、復制或更改頻率。
我使這個易于使用的單擊工具在控制臺 C exe 中調整監視器的大小。我遇到的問題是確定顯示幕是筆記本電腦顯示幕還是外接顯示幕。這很重要,因為我們所有的外接顯示幕都是 1920 x 1080,但我們的一些筆記本電腦是 1920 x 1200。
主.cpp:
#include <Windows.h>
#include <string>
#include <iostream>
int main()
{
DEVMODE devmode;
SetDisplayConfig(0, NULL, 0, NULL, SDC_TOPOLOGY_EXTEND | SDC_APPLY);
//long result = ChangeDisplaySettings(&devmode, 0);
DISPLAY_DEVICE displayDevice;
displayDevice.cb = sizeof(displayDevice);
int deviceIndex = 0;
while (EnumDisplayDevices(0, deviceIndex, &displayDevice, 0))
{
std::wstring deviceName = displayDevice.DeviceName;
int monitorIndex = 0;
while (EnumDisplayDevices(deviceName.c_str(), monitorIndex, &displayDevice, 0))
{
devmode.dmPelsWidth = 1920;
devmode.dmPelsHeight = 1080;
devmode.dmDisplayFrequency = 60;
devmode.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT | DM_DISPLAYFREQUENCY;
devmode.dmSize = sizeof(DEVMODE);
long result = ChangeDisplaySettingsEx(deviceName.c_str(), &devmode, NULL, NULL, 0);
monitorIndex;
}
deviceIndex;
}
return 0;
}
uj5u.com熱心網友回復:
也許您正在尋找DISPLAY_DEVICE_REMOVABLE
該領域的旗幟displayDevice.StateFlags
?
價值 | 意義 |
---|---|
DISPLAY_DEVICE_REMOVABLE | 該設備是可移動的;它不能是主顯示幕。 |
https://docs.microsoft.com/en-us/windows/win32/api/wingdi/ns-wingdi-display_devicea
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/470860.html
上一篇:使用netcfg洗掉NDISLWF不會將其從驅動程式存盤中洗掉?
下一篇:如何監控內核回呼