Похоже, что вы добавили этот код в консольное приложение. Параметр string args[]
, передаваемый в метод Main()
, представляет собой массив параметров, взятых из командной строки.
Например, в следующей командной строке: C:\> setmousespeed.exe 25
, args
будет содержать одно строковое значение "25"
. Строка uint.Parse(args[0])
преобразует строку в целое число.
Чтобы использовать этот метод в приложении Unity, вы должны преобразовать код в общедоступный метод. Пример этого показан ниже.
public static class Utility
{
public const UInt32 SPI_SETMOUSESPEED = 0x0071;
[DllImport("User32.dll")]
static extern Boolean SystemParametersInfo(
UInt32 uiAction,
UInt32 uiParam,
UInt32 pvParam,
UInt32 fWinIni);
public static void SetMouseSpeed(unit speed)
{
for (int i = 0; i < args.Length; i++)
{
System.Console.WriteLine("Arg[{0}] = [{1}]", i, args[i]);
}
SystemParametersInfo(
SPI_SETMOUSESPEED,
0,
speed,
0);
}
}
После импорта в Unity приведенный выше код можно вызвать следующим образом:
Utility.SetMouseSpeed(100);
Чтобы импортировать в Unity, вы также должны добавить этот код в проект библиотеки (DLL), но я считаю, что это выходит за рамки этого вопроса.