use windows api c# set primary monitor


i'm perplexing windows api set primary monitor. doesn't seem work - shade only flicks zero happens.



    open const int dm_orientation = 0x00000001;
public const int dm_papersize = 0x00000002;
public const int dm_paperlength = 0x00000004;
public const int dm_paperwidth = 0x00000008;
public const int dm_scale = 0x00000010;
public const int dm_position = 0x00000020;
public const int dm_nup = 0x00000040;
public const int dm_displayorientation = 0x00000080;
public const int dm_copies = 0x00000100;
public const int dm_defaultsource = 0x00000200;
public const int dm_printquality = 0x00000400;
public const int dm_color = 0x00000800;
public const int dm_duplex = 0x00001000;
public const int dm_yresolution = 0x00002000;
public const int dm_ttoption = 0x00004000;
public const int dm_collate = 0x00008000;
public const int dm_formname = 0x00010000;
public const int dm_logpixels = 0x00020000;
public const int dm_bitsperpel = 0x00040000;
public const int dm_pelswidth = 0x00080000;
public const int dm_pelsheight = 0x00100000;
public const int dm_displayflags = 0x00200000;
public const int dm_displayfrequency = 0x00400000;
public const int dm_icmmethod = 0x00800000;
public const int dm_icmintent = 0x01000000;
public const int dm_mediatype = 0x02000000;
public const int dm_dithertype = 0x04000000;
public const int dm_panningwidth = 0x08000000;
public const int dm_panningheight = 0x10000000;
public const int dm_displayfixedoutput = 0x20000000;

public const int enum_current_settings = -1;
public const int cds_updateregistry = 0x01;
public const int cds_test = 0x02;
public const int cds_set_primary = 0x00000010;

public const enlarged disp_change_successful = 0;
public const enlarged disp_change_restart = 1;
public const enlarged disp_change_failed = -1;
public const enlarged disp_change_badmode = -2;
public const enlarged disp_change_notupdated = -3;
public const enlarged disp_change_badflags = -4;
public const enlarged disp_change_badparam = -5;
public const enlarged disp_change_baddualview = -6;

open stationary vacant setprimary(screen screen)
{
display_device d = new display_device();
devmode dm = new devmode();
d.cb = marshal.sizeof(d);
uint deviceid = 1;
user_32.enumdisplaydevices(null, deviceid, ref d, 0); //
user_32.enumdisplaysettings(d.devicename, 0, ref dm);
dm.dmpelswidth = 2560;
dm.dmpelsheight = 1600;
dm.dmpositionx = screen.bounds.right;
dm.dmfields = dm_position | dm_pelswidth | dm_pelsheight;
user_32.changedisplaysettingsex(d.devicename, ref dm, intptr.zero, cds_set_primary, intptr.zero);
}


i slight this:



setprimary(screen.allscreens[1])


any ideas?



Comments

Popular posts from this blog

list macos calm editors formula editors

how i practical urls indicate .aspx pages asp.net deployed an iis? (preferably but iis)

jaxb - xjc - reworking generated typesafe enum category members