Импортируйте GetKeyState
[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
public static extern short GetKeyState(int keyCode);
функции WinAPI, и затем можно использовать его как этот
bool CapsLock = (((ushort)GetKeyState(0x14)) & 0xffff) != 0;
bool NumLock = (((ushort)GetKeyState(0x90)) & 0xffff) != 0;
bool ScrollLock = (((ushort)GetKeyState(0x91)) & 0xffff) != 0;
РЕДАКТИРОВАНИЕ: вышеупомянутое для платформы 1.1, для платформы 2.0 + можно использовать
MSI - это в основном база данных. Вы можете использовать Orca, чтобы открыть его и просмотреть / изменить настройки.
Надеюсь, это по крайней мере направило вас в правильном направлении.
Изменить:
Например, загрузите установщик для WiX 3.0 и откройте его в Orca.
WIXUI_INSTALLDIR
установлено значение APPLICATIONFOLDER
. APPLICATIONFOLDER
задано значение по умолчанию « vqee3ld3 | Windows Installer XML v3
» или что-то подобное. InstallDirDlg
запускает событие SetTargetPath, когда пользователь щелкает элемент управления «Далее». Это событие устанавливает аргумент WIXUI_INSTALLDIR
, который, в свою очередь, устанавливает APPLICATIONFOLDER
. Вы можете попробовать отредактировать эти свойства и запустить программу установки, чтобы увидеть, как эти свойства меняются. Если у вас есть свойства по умолчанию, которые вы хотите установить, вы можете запустить. Например, закройте Orca, чтобы снять блокировку с файла msi, и запустите:
msiexec /i Wix3.msi APPLICATIONFOLDER="C:\Program Files\WiX" /qn
Подробнее о структурах таблиц MSI в this powerpoint