C# から SystemParametersInfo を呼び出したい。この関数の最初の引数は、ドキュメントに記載されている SPI_GETACCESSTIMEOUT のような可能な値の大規模なコレクションの 1 つですが、どこにも定義されていないようです。
これらの値の実際の値を Web で見つけて、適切なマジック ナンバーを含む列挙型を作成できます。これは機能しますが、正しくありません。私は、私のためにそれをすべて行うものを含めることができるようにしたいと考えています. それらはどこかで定義する必要があります!
これを適切に機能させるにはどうすればよいですか?
OJは、すべてをソース コードにコピーしたい場合に最適なSPI ページを示しています。しかし、私はコンパイラにそれをしてもらいたいです。
私はただ言うことができるはずです:
[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);
代わりに、次を追加する必要があります。
public const uint SPI_GETACCESSTIMEOUT = 0x003C;
...そして残りのすべても同様です。これらのすべての定義を dll 内のどこからでもインポートするコマンドを探しています。