Then You can try like this:
Code: Select all
DllCall("GetDisplayConfigBufferSizes", "uint", QDC_ONLY_ACTIVE_PATHS := 2, "uint*", numPathArrayElements, "uint*", numModeInfoArrayElements)
VarSetCapacity(DISPLAYCONFIG_PATH_INFO, (20+48+4)*numPathArrayElements, 0)
VarSetCapacity(DISPLAYCONFIG_MODE_INFO, 64*numModeInfoArrayElements, 0)
DllCall("QueryDisplayConfig", "uint", QDC_ONLY_ACTIVE_PATHS := 2, "ptr", &numPathArrayElements, "ptr", &DISPLAYCONFIG_PATH_INFO, "ptr", &numModeInfoArrayElements, "ptr", &DISPLAYCONFIG_MODE_INFO, "uint", 0)
loop % NumGet(numPathArrayElements, "int")
{
adapterId := NumGet(DISPLAYCONFIG_PATH_INFO, (A_Index-1)*72+20, "int64")
id := NumGet(DISPLAYCONFIG_PATH_INFO, (A_Index-1)*72+28, "uint")
VarSetCapacity(DISPLAYCONFIG_TARGET_DEVICE_NAME, 420, 0)
NumPut(DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME := 2, DISPLAYCONFIG_TARGET_DEVICE_NAME, 0, "uint")
NumPut(420, DISPLAYCONFIG_TARGET_DEVICE_NAME, 4, "uint")
NumPut(adapterId, DISPLAYCONFIG_TARGET_DEVICE_NAME, 8, "int64")
NumPut(id, DISPLAYCONFIG_TARGET_DEVICE_NAME, 16, "uint")
DllCall("DisplayConfigGetDeviceInfo", "ptr", &DISPLAYCONFIG_TARGET_DEVICE_NAME)
MsgBox, % StrGet(&DISPLAYCONFIG_TARGET_DEVICE_NAME + 36)
}