Ako používať Win API funkcie v C#
·
Igor Kulman
C# je síce menežovaný programovací jazyk, umožňuje vám však prístup k Win API funkciám a vlastne k akýmkoľvek funkciám z externých DLL knižníc za predpokladu, že poznáte ich rozhranie. Na použitie je potrebné definovať hlavičku funkcie s direktívou DllImport a označením, o akú Dll knižnicu sa jedná. Ak napríklad chcete používat funkciu SystemParametersInfo z knižnice user32.dll je potrebná najprv jej definícia
[DllImport("user32.dll", EntryPoint = "SystemParametersInfo", SetLastError = true)]
public static extern bool SystemParametersInfo(uint action, uint param, ref uint vparam, uint init);
a následne ju možete používať ako ktorúkoľvek inú funkciu. Napríklad citlivosť myši zistíte jej zavolaním s parametrom 0x0071
public const UInt32 SPI_SETMOUSESPEED = 0x0071;
private static uint GetMouseSpeed(){
uint mNMouse = 0;bool nResult = SystemParametersInfo(Win32.SPI_GETMOUSESPEED, 0, ref mNMouse, 0);
return mNMouse;}