Hejsa,
jeg har netop hentet MS Core SDK da jeg skal til at lave et program der kan
skelne mellem forskellige skærme/skærmkort i en windows maskine. Derfor har
jeg skrevet følgende program (efter at have sat paths op for både includes
og libraries til at pege på sdk-diren):
#include "stdafx.h"
int main(int argc, char* argv[])
{
DISPLAY_DEVICE dd;
printf("Enumerating devices\n");
for (int i=0; EnumDisplayDevices(NULL, i, &dd, 0); i++)
{
printf(" DeviceName: '%s'\n", dd.DeviceName);
printf(" DeviceString: '%s'\n", dd.DeviceString);
printf(" Flags: %08X %s%s\n",
dd.StateFlags,
((dd.StateFlags & DISPLAY_DEVICE_ATTACHED_TO_DESKTOP) ?
"Desktop " : ""),
((dd.StateFlags & DISPLAY_DEVICE_PRIMARY_DEVICE) ? "Primary " : ""));
}
return 0;
}
Mit problem er så, at EnumDisplayDevices crasher i NTDLL med "First-chance
exception in enumdevies.exe: 0xC0000005: Access Violation" i
debug-out-vinduet. Ovenstående kode er mere eller mindre cutnpastet fra
noget kode jeg fandt via google. Har i nogen gode ideer? Jeg tror lidt det
har noget at gøre med at jeg har forskellige versioner af SDK og de DLL'er
der ligger i mit windows\system-dir, men jeg vil helst ikke rode for meget
med det hvis der er nogen der har en løsning
Mvh, Rasmus