mirror of
https://github.com/terrymacdonald/DisplayMagician.git
synced 2024-08-30 18:32:20 +00:00
Fixed WindowsDisplayAPI Device Identifcation
Fixed the WindowsDisplayAPI Device Identifcation logic so that it reliably detects the displays in a way that works when some displays are disabled as well as when they are enabled. Also divided up the DeviceIdentification into two separate functions so that one will list all attached devices, and the other will only report the devices currently in use.
This commit is contained in:
parent
c716b88068
commit
95d87e92f1
@ -568,7 +568,7 @@ namespace HeliosPlus.Shared
|
|||||||
|
|
||||||
// If the Video Card is an NVidia, then we should generate specific NVidia displayIdentifiers
|
// If the Video Card is an NVidia, then we should generate specific NVidia displayIdentifiers
|
||||||
NvAPIWrapper.GPU.LogicalGPU[] myLogicalGPUs = NvAPIWrapper.GPU.LogicalGPU.GetLogicalGPUs();
|
NvAPIWrapper.GPU.LogicalGPU[] myLogicalGPUs = NvAPIWrapper.GPU.LogicalGPU.GetLogicalGPUs();
|
||||||
if (myLogicalGPUs.Length > 0)
|
if (myLogicalGPUs.Length == 0)
|
||||||
{
|
{
|
||||||
|
|
||||||
foreach (NvAPIWrapper.GPU.LogicalGPU myLogicalGPU in myLogicalGPUs)
|
foreach (NvAPIWrapper.GPU.LogicalGPU myLogicalGPU in myLogicalGPUs)
|
||||||
@ -619,77 +619,80 @@ namespace HeliosPlus.Shared
|
|||||||
List<DisplayAdapter> allDisplayAdapters = DisplayAdapter.GetDisplayAdapters().ToList();
|
List<DisplayAdapter> allDisplayAdapters = DisplayAdapter.GetDisplayAdapters().ToList();
|
||||||
foreach (DisplayAdapter displayAdapter in allDisplayAdapters)
|
foreach (DisplayAdapter displayAdapter in allDisplayAdapters)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"DP : {displayAdapter.DevicePath}");
|
|
||||||
Console.WriteLine($"DK : {displayAdapter.DeviceKey}");
|
|
||||||
Console.WriteLine($"DN : {displayAdapter.DeviceName}");
|
|
||||||
Console.WriteLine($"DK : {displayAdapter.DeviceKey}");
|
|
||||||
PathDisplayAdapter pathDisplayAdapter = displayAdapter.ToPathDisplayAdapter();
|
PathDisplayAdapter pathDisplayAdapter = displayAdapter.ToPathDisplayAdapter();
|
||||||
Console.WriteLine($"AI : {pathDisplayAdapter.AdapterId}");
|
List<DisplayDevice> displayDevices = displayAdapter.GetDisplayDevices().Where(da => da.IsAvailable).ToList();
|
||||||
Console.WriteLine($"AIDP : {pathDisplayAdapter.DevicePath}");
|
|
||||||
Console.WriteLine($"AIII : {pathDisplayAdapter.IsInvalid}");
|
// skip this DisplayAdapter if the number of available DisplayDevices is 0
|
||||||
List<DisplayDevice> displayDevices = displayAdapter.GetDisplayDevices().ToList();
|
if (displayDevices.Count == 0)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
/*Debug.WriteLine($"DP : {displayAdapter.DevicePath}");
|
||||||
|
Debug.WriteLine($"DK : {displayAdapter.DeviceKey}");
|
||||||
|
Debug.WriteLine($"DN : {displayAdapter.DeviceName}");
|
||||||
|
Debug.WriteLine($"DK : {displayAdapter.DeviceKey}");
|
||||||
|
Debug.WriteLine($"AI : {pathDisplayAdapter.AdapterId}");
|
||||||
|
Debug.WriteLine($"AIDP : {pathDisplayAdapter.DevicePath}");
|
||||||
|
Debug.WriteLine($"AIII : {pathDisplayAdapter.IsInvalid}");*/
|
||||||
|
|
||||||
foreach (DisplayDevice displayDevice in displayDevices)
|
foreach (DisplayDevice displayDevice in displayDevices)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"DDA : {displayDevice.Adapter}");
|
|
||||||
Console.WriteLine($"DDDK : {displayDevice.DeviceKey}");
|
|
||||||
Console.WriteLine($"DDDN : {displayDevice.DeviceName}");
|
|
||||||
Console.WriteLine($"DDDP : {displayDevice.DevicePath}");
|
|
||||||
Console.WriteLine($"DDDiFN : {displayDevice.DisplayFullName}");
|
|
||||||
Console.WriteLine($"DDDiN : {displayDevice.DisplayName}");
|
|
||||||
Console.WriteLine($"DDDiIA : {displayDevice.IsAvailable}");
|
|
||||||
Console.WriteLine($"DDDiIV : {displayDevice.IsValid}");
|
|
||||||
PathDisplaySource pathDisplaySource = displayDevice.ToPathDisplaySource();
|
PathDisplaySource pathDisplaySource = displayDevice.ToPathDisplaySource();
|
||||||
Console.WriteLine($"PDSA : {pathDisplaySource.Adapter}");
|
|
||||||
Console.WriteLine($"PDSCDS : {pathDisplaySource.CurrentDPIScale}");
|
|
||||||
Console.WriteLine($"PDSDN : {pathDisplaySource.DisplayName}");
|
|
||||||
Console.WriteLine($"PDSMDS : {pathDisplaySource.MaximumDPIScale}");
|
|
||||||
Console.WriteLine($"PDSRDS : {pathDisplaySource.RecommendedDPIScale}");
|
|
||||||
Console.WriteLine($"PDSSI : {pathDisplaySource.SourceId}");
|
|
||||||
PathDisplayTarget pathDisplayTarget = displayDevice.ToPathDisplayTarget();
|
PathDisplayTarget pathDisplayTarget = displayDevice.ToPathDisplayTarget();
|
||||||
Console.WriteLine($"PDTA : {pathDisplayTarget.Adapter}");
|
|
||||||
|
// skip this DisplayDevice if it isn't available
|
||||||
|
if (!displayDevice.IsAvailable)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
/*Console.WriteLine($"DDA : {displayDevice.Adapter}");
|
||||||
|
Debug.WriteLine($"DDDK : {displayDevice.DeviceKey}");
|
||||||
|
Debug.WriteLine($"DDDN : {displayDevice.DeviceName}");
|
||||||
|
Debug.WriteLine($"DDDP : {displayDevice.DevicePath}");
|
||||||
|
Debug.WriteLine($"DDDiFN : {displayDevice.DisplayFullName}");
|
||||||
|
Debug.WriteLine($"DDDiN : {displayDevice.DisplayName}");
|
||||||
|
Debug.WriteLine($"DDDiIA : {displayDevice.IsAvailable}");
|
||||||
|
Debug.WriteLine($"DDDiIV : {displayDevice.IsValid}");*/
|
||||||
|
|
||||||
|
/*Console.WriteLine($"PDSA : {pathDisplaySource.Adapter}");
|
||||||
|
Debug.WriteLine($"PDSCDS : {pathDisplaySource.CurrentDPIScale}");
|
||||||
|
Debug.WriteLine($"PDSDN : {pathDisplaySource.DisplayName}");
|
||||||
|
Debug.WriteLine($"PDSMDS : {pathDisplaySource.MaximumDPIScale}");
|
||||||
|
Debug.WriteLine($"PDSRDS : {pathDisplaySource.RecommendedDPIScale}");
|
||||||
|
Debug.WriteLine($"PDSSI : {pathDisplaySource.SourceId}");*/
|
||||||
|
|
||||||
|
/*Console.WriteLine($"PDTA : {pathDisplayTarget.Adapter}");
|
||||||
//Console.WriteLine($"PDTBP : {pathDisplayTarget.BootPersistence}");
|
//Console.WriteLine($"PDTBP : {pathDisplayTarget.BootPersistence}");
|
||||||
Console.WriteLine($"PDTCI : {pathDisplayTarget.ConnectorInstance}");
|
Debug.WriteLine($"PDTCI : {pathDisplayTarget.ConnectorInstance}");
|
||||||
Console.WriteLine($"PDTDP : {pathDisplayTarget.DevicePath}");
|
Debug.WriteLine($"PDTDP : {pathDisplayTarget.DevicePath}");
|
||||||
Console.WriteLine($"PDTEMC : {pathDisplayTarget.EDIDManufactureCode}");
|
Debug.WriteLine($"PDTEMC : {pathDisplayTarget.EDIDManufactureCode}");
|
||||||
Console.WriteLine($"PDTEMI : {pathDisplayTarget.EDIDManufactureId}");
|
Debug.WriteLine($"PDTEMI : {pathDisplayTarget.EDIDManufactureId}");
|
||||||
Console.WriteLine($"PDTEPC : {pathDisplayTarget.EDIDProductCode}");
|
Debug.WriteLine($"PDTEPC : {pathDisplayTarget.EDIDProductCode}");
|
||||||
Console.WriteLine($"PDTFN : {pathDisplayTarget.FriendlyName}");
|
Debug.WriteLine($"PDTFN : {pathDisplayTarget.FriendlyName}");
|
||||||
Console.WriteLine($"PDTIA : {pathDisplayTarget.IsAvailable}");
|
Debug.WriteLine($"PDTIA : {pathDisplayTarget.IsAvailable}");
|
||||||
Console.WriteLine($"PDTPR : {pathDisplayTarget.PreferredResolution}");
|
Debug.WriteLine($"PDTPR : {pathDisplayTarget.PreferredResolution}");
|
||||||
Console.WriteLine($"PDTPSM : {pathDisplayTarget.PreferredSignalMode}");
|
Debug.WriteLine($"PDTPSM : {pathDisplayTarget.PreferredSignalMode}");
|
||||||
Console.WriteLine($"PDTTI : {pathDisplayTarget.TargetId}");
|
Debug.WriteLine($"PDTTI : {pathDisplayTarget.TargetId}");
|
||||||
Console.WriteLine($"PDTVRS : {pathDisplayTarget.VirtualResolutionSupport}");
|
Debug.WriteLine($"PDTVRS : {pathDisplayTarget.VirtualResolutionSupport}");*/
|
||||||
}
|
|
||||||
|
|
||||||
// For each profile, we want to make sure all TargetDisplays.DevicePath are in the list of
|
|
||||||
// availableDevicePaths
|
|
||||||
//foreach (WindowsDisplayAPI.DisplayConfig.PathTargetInfo profilePathTargetInfo in profileViewport.ToPathInfo().TargetsInfo)
|
|
||||||
/* foreach (ProfileViewportTargetDisplay profileTargetDisplay in profileViewport.TargetDisplays)
|
|
||||||
{
|
|
||||||
|
|
||||||
|
|
||||||
WindowsDisplayAPI.DisplayConfig.PathTargetInfo profilePathTargetInfo = profileTargetDisplay.ToPathTargetInfo();
|
|
||||||
|
|
||||||
// Create an array of all the important display info we need to record
|
// Create an array of all the important display info we need to record
|
||||||
string[] displayInfo = {
|
string[] displayInfo = {
|
||||||
"WINAPI",
|
"WINAPI",
|
||||||
profileViewport.SourceId.ToString(),
|
displayAdapter.DeviceName.ToString(),
|
||||||
profilePathTargetInfo.DisplayTarget.Adapter.AdapterId.HighPart.ToString(),
|
pathDisplayAdapter.AdapterId.ToString(),
|
||||||
profilePathTargetInfo.DisplayTarget.Adapter.AdapterId.LowPart.ToString(),
|
pathDisplaySource.SourceId.ToString(),
|
||||||
profilePathTargetInfo.OutputTechnology.ToString(),
|
pathDisplayTarget.ConnectorInstance.ToString(),
|
||||||
profilePathTargetInfo.DisplayTarget.EDIDManufactureCode.ToString(),
|
pathDisplayTarget.FriendlyName,
|
||||||
profilePathTargetInfo.DisplayTarget.FriendlyName,
|
pathDisplayTarget.EDIDManufactureCode.ToString(),
|
||||||
profilePathTargetInfo.DisplayTarget.EDIDManufactureId.ToString(),
|
pathDisplayTarget.EDIDManufactureId.ToString(),
|
||||||
profilePathTargetInfo.DisplayTarget.EDIDProductCode.ToString(),
|
pathDisplayTarget.EDIDProductCode.ToString(),
|
||||||
profilePathTargetInfo.DisplayTarget.ConnectorInstance.ToString(),
|
pathDisplayTarget.TargetId.ToString(),
|
||||||
profileTargetDisplay.DevicePath,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Create a display identifier out of it
|
// Create a display identifier out of it
|
||||||
string displayIdentifier = String.Join("|", displayInfo);
|
string displayIdentifier = String.Join("|", displayInfo);
|
||||||
// Add it to the list of display identifiers so we can return it
|
// Add it to the list of display identifiers so we can return it
|
||||||
displayIdentifiers.Add(displayIdentifier);
|
displayIdentifiers.Add(displayIdentifier);
|
||||||
}*/
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -703,7 +706,7 @@ namespace HeliosPlus.Shared
|
|||||||
|
|
||||||
// If the Video Card is an NVidia, then we should generate specific NVidia displayIdentifiers
|
// If the Video Card is an NVidia, then we should generate specific NVidia displayIdentifiers
|
||||||
NvAPIWrapper.GPU.LogicalGPU[] myLogicalGPUs = NvAPIWrapper.GPU.LogicalGPU.GetLogicalGPUs();
|
NvAPIWrapper.GPU.LogicalGPU[] myLogicalGPUs = NvAPIWrapper.GPU.LogicalGPU.GetLogicalGPUs();
|
||||||
if (myLogicalGPUs.Length > 0)
|
if (myLogicalGPUs.Length == 0)
|
||||||
{
|
{
|
||||||
|
|
||||||
foreach (NvAPIWrapper.GPU.LogicalGPU myLogicalGPU in myLogicalGPUs)
|
foreach (NvAPIWrapper.GPU.LogicalGPU myLogicalGPU in myLogicalGPUs)
|
||||||
@ -752,77 +755,73 @@ namespace HeliosPlus.Shared
|
|||||||
List<DisplayAdapter> allDisplayAdapters = DisplayAdapter.GetDisplayAdapters().ToList();
|
List<DisplayAdapter> allDisplayAdapters = DisplayAdapter.GetDisplayAdapters().ToList();
|
||||||
foreach (DisplayAdapter displayAdapter in allDisplayAdapters)
|
foreach (DisplayAdapter displayAdapter in allDisplayAdapters)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"DP : {displayAdapter.DevicePath}");
|
|
||||||
Console.WriteLine($"DK : {displayAdapter.DeviceKey}");
|
|
||||||
Console.WriteLine($"DN : {displayAdapter.DeviceName}");
|
|
||||||
Console.WriteLine($"DK : {displayAdapter.DeviceKey}");
|
|
||||||
PathDisplayAdapter pathDisplayAdapter = displayAdapter.ToPathDisplayAdapter();
|
PathDisplayAdapter pathDisplayAdapter = displayAdapter.ToPathDisplayAdapter();
|
||||||
Console.WriteLine($"AI : {pathDisplayAdapter.AdapterId}");
|
|
||||||
Console.WriteLine($"AIDP : {pathDisplayAdapter.DevicePath}");
|
|
||||||
Console.WriteLine($"AIII : {pathDisplayAdapter.IsInvalid}");
|
|
||||||
List<DisplayDevice> displayDevices = displayAdapter.GetDisplayDevices().ToList();
|
List<DisplayDevice> displayDevices = displayAdapter.GetDisplayDevices().ToList();
|
||||||
|
|
||||||
|
/*Debug.WriteLine($"DP : {displayAdapter.DevicePath}");
|
||||||
|
Debug.WriteLine($"DK : {displayAdapter.DeviceKey}");
|
||||||
|
Debug.WriteLine($"DN : {displayAdapter.DeviceName}");
|
||||||
|
Debug.WriteLine($"DK : {displayAdapter.DeviceKey}");
|
||||||
|
Debug.WriteLine($"AI : {pathDisplayAdapter.AdapterId}");
|
||||||
|
Debug.WriteLine($"AIDP : {pathDisplayAdapter.DevicePath}");
|
||||||
|
Debug.WriteLine($"AIII : {pathDisplayAdapter.IsInvalid}");*/
|
||||||
|
|
||||||
foreach (DisplayDevice displayDevice in displayDevices)
|
foreach (DisplayDevice displayDevice in displayDevices)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"DDA : {displayDevice.Adapter}");
|
|
||||||
Console.WriteLine($"DDDK : {displayDevice.DeviceKey}");
|
|
||||||
Console.WriteLine($"DDDN : {displayDevice.DeviceName}");
|
|
||||||
Console.WriteLine($"DDDP : {displayDevice.DevicePath}");
|
|
||||||
Console.WriteLine($"DDDiFN : {displayDevice.DisplayFullName}");
|
|
||||||
Console.WriteLine($"DDDiN : {displayDevice.DisplayName}");
|
|
||||||
Console.WriteLine($"DDDiIA : {displayDevice.IsAvailable}");
|
|
||||||
Console.WriteLine($"DDDiIV : {displayDevice.IsValid}");
|
|
||||||
PathDisplaySource pathDisplaySource = displayDevice.ToPathDisplaySource();
|
PathDisplaySource pathDisplaySource = displayDevice.ToPathDisplaySource();
|
||||||
Console.WriteLine($"PDSA : {pathDisplaySource.Adapter}");
|
|
||||||
Console.WriteLine($"PDSCDS : {pathDisplaySource.CurrentDPIScale}");
|
|
||||||
Console.WriteLine($"PDSDN : {pathDisplaySource.DisplayName}");
|
|
||||||
Console.WriteLine($"PDSMDS : {pathDisplaySource.MaximumDPIScale}");
|
|
||||||
Console.WriteLine($"PDSRDS : {pathDisplaySource.RecommendedDPIScale}");
|
|
||||||
Console.WriteLine($"PDSSI : {pathDisplaySource.SourceId}");
|
|
||||||
PathDisplayTarget pathDisplayTarget = displayDevice.ToPathDisplayTarget();
|
PathDisplayTarget pathDisplayTarget = displayDevice.ToPathDisplayTarget();
|
||||||
Console.WriteLine($"PDTA : {pathDisplayTarget.Adapter}");
|
|
||||||
|
/*Console.WriteLine($"DDA : {displayDevice.Adapter}");
|
||||||
|
Debug.WriteLine($"DDDK : {displayDevice.DeviceKey}");
|
||||||
|
Debug.WriteLine($"DDDN : {displayDevice.DeviceName}");
|
||||||
|
Debug.WriteLine($"DDDP : {displayDevice.DevicePath}");
|
||||||
|
Debug.WriteLine($"DDDiFN : {displayDevice.DisplayFullName}");
|
||||||
|
Debug.WriteLine($"DDDiN : {displayDevice.DisplayName}");
|
||||||
|
Debug.WriteLine($"DDDiIA : {displayDevice.IsAvailable}");
|
||||||
|
Debug.WriteLine($"DDDiIV : {displayDevice.IsValid}");*/
|
||||||
|
|
||||||
|
/*Console.WriteLine($"PDSA : {pathDisplaySource.Adapter}");
|
||||||
|
Debug.WriteLine($"PDSCDS : {pathDisplaySource.CurrentDPIScale}");
|
||||||
|
Debug.WriteLine($"PDSDN : {pathDisplaySource.DisplayName}");
|
||||||
|
Debug.WriteLine($"PDSMDS : {pathDisplaySource.MaximumDPIScale}");
|
||||||
|
Debug.WriteLine($"PDSRDS : {pathDisplaySource.RecommendedDPIScale}");
|
||||||
|
Debug.WriteLine($"PDSSI : {pathDisplaySource.SourceId}");*/
|
||||||
|
|
||||||
|
/*Console.WriteLine($"PDTA : {pathDisplayTarget.Adapter}");
|
||||||
//Console.WriteLine($"PDTBP : {pathDisplayTarget.BootPersistence}");
|
//Console.WriteLine($"PDTBP : {pathDisplayTarget.BootPersistence}");
|
||||||
Console.WriteLine($"PDTCI : {pathDisplayTarget.ConnectorInstance}");
|
Debug.WriteLine($"PDTCI : {pathDisplayTarget.ConnectorInstance}");
|
||||||
Console.WriteLine($"PDTDP : {pathDisplayTarget.DevicePath}");
|
Debug.WriteLine($"PDTDP : {pathDisplayTarget.DevicePath}");
|
||||||
Console.WriteLine($"PDTEMC : {pathDisplayTarget.EDIDManufactureCode}");
|
Debug.WriteLine($"PDTEMC : {pathDisplayTarget.EDIDManufactureCode}");
|
||||||
Console.WriteLine($"PDTEMI : {pathDisplayTarget.EDIDManufactureId}");
|
Debug.WriteLine($"PDTEMI : {pathDisplayTarget.EDIDManufactureId}");
|
||||||
Console.WriteLine($"PDTEPC : {pathDisplayTarget.EDIDProductCode}");
|
Debug.WriteLine($"PDTEPC : {pathDisplayTarget.EDIDProductCode}");
|
||||||
Console.WriteLine($"PDTFN : {pathDisplayTarget.FriendlyName}");
|
Debug.WriteLine($"PDTFN : {pathDisplayTarget.FriendlyName}");
|
||||||
Console.WriteLine($"PDTIA : {pathDisplayTarget.IsAvailable}");
|
Debug.WriteLine($"PDTIA : {pathDisplayTarget.IsAvailable}");
|
||||||
Console.WriteLine($"PDTPR : {pathDisplayTarget.PreferredResolution}");
|
Debug.WriteLine($"PDTPR : {pathDisplayTarget.PreferredResolution}");
|
||||||
Console.WriteLine($"PDTPSM : {pathDisplayTarget.PreferredSignalMode}");
|
Debug.WriteLine($"PDTPSM : {pathDisplayTarget.PreferredSignalMode}");
|
||||||
Console.WriteLine($"PDTTI : {pathDisplayTarget.TargetId}");
|
Debug.WriteLine($"PDTTI : {pathDisplayTarget.TargetId}");
|
||||||
Console.WriteLine($"PDTVRS : {pathDisplayTarget.VirtualResolutionSupport}");
|
Debug.WriteLine($"PDTVRS : {pathDisplayTarget.VirtualResolutionSupport}");*/
|
||||||
}
|
|
||||||
|
|
||||||
// For each profile, we want to make sure all TargetDisplays.DevicePath are in the list of
|
|
||||||
// availableDevicePaths
|
|
||||||
//foreach (WindowsDisplayAPI.DisplayConfig.PathTargetInfo profilePathTargetInfo in profileViewport.ToPathInfo().TargetsInfo)
|
|
||||||
/* foreach (ProfileViewportTargetDisplay profileTargetDisplay in profileViewport.TargetDisplays)
|
|
||||||
{
|
|
||||||
|
|
||||||
|
|
||||||
WindowsDisplayAPI.DisplayConfig.PathTargetInfo profilePathTargetInfo = profileTargetDisplay.ToPathTargetInfo();
|
|
||||||
|
|
||||||
// Create an array of all the important display info we need to record
|
// Create an array of all the important display info we need to record
|
||||||
string[] displayInfo = {
|
string[] displayInfo = {
|
||||||
"WINAPI",
|
"WINAPI",
|
||||||
profileViewport.SourceId.ToString(),
|
displayAdapter.DeviceName.ToString(),
|
||||||
profilePathTargetInfo.DisplayTarget.Adapter.AdapterId.HighPart.ToString(),
|
pathDisplayAdapter.AdapterId.ToString(),
|
||||||
profilePathTargetInfo.DisplayTarget.Adapter.AdapterId.LowPart.ToString(),
|
pathDisplaySource.SourceId.ToString(),
|
||||||
profilePathTargetInfo.OutputTechnology.ToString(),
|
pathDisplayTarget.ConnectorInstance.ToString(),
|
||||||
profilePathTargetInfo.DisplayTarget.EDIDManufactureCode.ToString(),
|
pathDisplayTarget.FriendlyName,
|
||||||
profilePathTargetInfo.DisplayTarget.FriendlyName,
|
pathDisplayTarget.EDIDManufactureCode.ToString(),
|
||||||
profilePathTargetInfo.DisplayTarget.EDIDManufactureId.ToString(),
|
pathDisplayTarget.EDIDManufactureId.ToString(),
|
||||||
profilePathTargetInfo.DisplayTarget.EDIDProductCode.ToString(),
|
pathDisplayTarget.EDIDProductCode.ToString(),
|
||||||
profilePathTargetInfo.DisplayTarget.ConnectorInstance.ToString(),
|
pathDisplayTarget.TargetId.ToString(),
|
||||||
profileTargetDisplay.DevicePath,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Create a display identifier out of it
|
// Create a display identifier out of it
|
||||||
string displayIdentifier = String.Join("|", displayInfo);
|
string displayIdentifier = String.Join("|", displayInfo);
|
||||||
// Add it to the list of display identifiers so we can return it
|
// Add it to the list of display identifiers so we can return it
|
||||||
displayIdentifiers.Add(displayIdentifier);
|
displayIdentifiers.Add(displayIdentifier);
|
||||||
}*/
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user