我想從C#中調用SystemParametersInfo。這個函數的第一個參數是SPI_GETACCESSTIMEOUT這類可能值的大集合之一,它們在文檔中列出,但似乎沒有在任何地方定義。SystemParametersInfo參數定義C#
我可以在網絡上找到這些東西的實際值,並在其中使用正確的幻數進行枚舉 - 這是有效的,但這不是正確的。我想能夠包含一些爲我做的一切。他們必須在某個地方定義!
我該怎麼做才能正常工作?
OJ指向SPI page如果我想所有的複製到我的源代碼這是偉大的。 但我希望編譯器這樣做。
我應該只能夠說:
[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中的任何位置導入所有這些定義。
所以你基本上要求的是SystemParametersInfo的管理版本。簡短的回答是,沒有一個(在發佈時)。你必須像已經演示過的那樣使用p/invoke。就是那樣子! – 2010-03-21 22:24:12