////////////////////////////////////////////////////////////////////////////////////////////////////////
// Funktion zum Auslesen der verfügbaren Auflösungen. Speichert diese in einer .txt ab
typedef struct _devicemode
{
char dmDeviceName[32];
WORD dmSpecVersion;
WORD dmDriverVersion;
WORD dmSize;
WORD dmDriverExtra;
DWORD dmFields;
short dmOrientation;
short dmPaperSize;
short dmPaperLength;
short dmPaperWidth;
short dmScale;
short dmCopies;
short dmDefaultSource;
short dmPrintQuality;
short dmColor;
short dmDuplex;
short dmYResolution;
short dmTTOption;
short dmCollate;
BYTE dmFormName[32];
WORD dmLogPixels;
DWORD dmBitsPerPel;
DWORD dmPelsWidth;
DWORD dmPelsHeight;
DWORD dmDisplayFlags;
DWORD dmDisplayFrequency;
DWORD dmICMMethod;
DWORD dmICMIntent;
DWORD dmMediaType;
DWORD dmDitherType;
DWORD dmReserved1;
DWORD dmReserved2;
DWORD dmPanningWidth;
DWORD dmPanningHeight;
} SCRMODE;
SCRMODE resolution;
//Table of resolution available
var Tab_x[29]={0};
var Tab_y[29]={0};
void get_screenres()
{
//create file with all resolution available
//set all value at zero
var i = 0;
for (i=0; i<=29; i++)
{
Tab_x[i] = 0;
Tab_y[i] = 0;
}
var n = 0;
var e = 0;
while(EnumDisplaySettings(NULL,n , &resolution)!=0)
{
var p =0;
var VL_exist = 0;
for (p=0; p<=29; p++)
{
if((Tab_x[p]==resolution.dmPelsWidth)&&(Tab_y[p]==resolution.dmPelsHeight))
{
VL_exist = 1;
}
}
if(VL_exist==0)
{
Tab_x[e] = resolution.dmPelsWidth;
Tab_y[e] = resolution.dmPelsHeight;
e = e+1;
}
n = n + 1;
}
var VL_file_write_resolution = file_open_write("resolution.txt");
if(VL_file_write_resolution!=0)
{
var l=0;
var nummer=1;
while(Tab_x[l]!=0)
{
if(Tab_x[l]>=640)
{
file_str_write(VL_file_write_resolution,"aufl_x");
file_var_write(VL_file_write_resolution,nummer);
file_var_write(VL_file_write_resolution,Tab_x[l]);
file_str_write(VL_file_write_resolution,",");
file_str_write(VL_file_write_resolution,"\r\n");
file_str_write(VL_file_write_resolution,"aufl_y");
file_var_write(VL_file_write_resolution,nummer);
file_var_write(VL_file_write_resolution,Tab_y[l]);
file_str_write(VL_file_write_resolution,",");
file_str_write(VL_file_write_resolution,"\r\n");
nummer++;
}
l++;
}
file_open_write(VL_file_write_resolution);
}
file_close(VL_file_write_resolution);
}