mirror of
https://github.com/UltimMC/Launcher.git
synced 2025-10-04 17:09:25 +00:00
Compare commits
1 Commits
0.6.10
...
feature/wi
Author | SHA1 | Date | |
---|---|---|---|
|
d746deb35a |
@@ -89,6 +89,56 @@ void runGlxinfo(QStringList & log)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef Q_OS_WIN32
|
||||||
|
#include <windows.h>
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
void printDisplayFlags(QStringList & log, const DWORD flags, const char * spacing)
|
||||||
|
{
|
||||||
|
QStringList flagStrings;
|
||||||
|
if(flags & DISPLAY_DEVICE_ACTIVE)
|
||||||
|
{
|
||||||
|
flags << "Active";
|
||||||
|
}
|
||||||
|
if(flags & DISPLAY_DEVICE_PRIMARY_DEVICE)
|
||||||
|
{
|
||||||
|
flags << "Primary";
|
||||||
|
}
|
||||||
|
if(flags & DISPLAY_DEVICE_MIRRORING_DRIVER)
|
||||||
|
{
|
||||||
|
flags << "Mirroring";
|
||||||
|
}
|
||||||
|
if(flagStrings.size())
|
||||||
|
{
|
||||||
|
log << QString("%1%2").arg(spacing, flagStrings.join(','));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void probeWinAPIForDevices(QStringList & log)
|
||||||
|
{
|
||||||
|
DISPLAY_DEVICEW dd;
|
||||||
|
memset(&dd, 0, sizeof(DISPLAY_DEVICEW));
|
||||||
|
int i = 0;
|
||||||
|
|
||||||
|
// enumerate devices
|
||||||
|
while(EnumDisplayDevicesW(NULL, i, &dd, 0))
|
||||||
|
{
|
||||||
|
log << "Display devices:";
|
||||||
|
log << QString("Device Name: %1 | Device String: %2").arg(QString::fromWCharArray(dd.DeviceName), QString::fromWCharArray(dd.DeviceString));
|
||||||
|
printDisplayFlags(log, dd.StateFlags, " ");
|
||||||
|
|
||||||
|
// enumerate monitors
|
||||||
|
if(EnumDisplayDevicesW(dd.DeviceName, 0, &dd, 0))
|
||||||
|
{
|
||||||
|
log << QString(" Monitor Name: %1 | Monitor String: %2").arg(QString::fromWCharArray(dd.DeviceName), QString::fromWCharArray(dd.DeviceString));
|
||||||
|
printDisplayFlags(log, dd.StateFlags, " ");
|
||||||
|
}
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void PrintInstanceInfo::executeTask()
|
void PrintInstanceInfo::executeTask()
|
||||||
{
|
{
|
||||||
auto instance = m_parent->instance();
|
auto instance = m_parent->instance();
|
||||||
@@ -100,6 +150,10 @@ void PrintInstanceInfo::executeTask()
|
|||||||
::runGlxinfo(log);
|
::runGlxinfo(log);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef Q_OS_WIN32
|
||||||
|
::probeWinAPIForDevices(log);
|
||||||
|
#endif
|
||||||
|
|
||||||
logLines(log, MessageLevel::MultiMC);
|
logLines(log, MessageLevel::MultiMC);
|
||||||
logLines(instance->verboseDescription(m_session), MessageLevel::MultiMC);
|
logLines(instance->verboseDescription(m_session), MessageLevel::MultiMC);
|
||||||
emitSucceeded();
|
emitSucceeded();
|
||||||
|
Reference in New Issue
Block a user