I want to make a call to SystemParametersInfo from C#. The first argument to this function is one of a large collection of possible values like SPI_GETACCESSTIMEOUT, which are listed in the documentation, but don't seem to be defined anywhere.
I can go find the actual values of these things on the web, and make up an enum with the right magic numbers in it - that works, but it's not the right thing. I want to be able to include something that does all that for me. They have to be defined somewhere!
What do I do to make this work properly?
OJ points to the SPI page which is great if I want to copy all that into my source code. But I want the compiler to do that.
I should just be able to say:
[DllImport("user32", CharSet = CharSet.Auto)]
private static extern bool SystemParametersInfo(int uAction, bool uParam, int lpvParam, int fuWinIni);
SystemParametersInfo(SPI_GETACCESSTIMEOUT, 0, ref IsActive, 0);
Instead I need to add:
public const uint SPI_GETACCESSTIMEOUT = 0x003C;
... and all the rest of it as well. I'm looking for some command that will import all those definitions from wherever they live in the dll.