Я использую приведенный ниже код для изменения системного объема программным путем. Я был бы честен с вами, что получил тот же код из Интернета от lot ofsources.Действительно ли значение APPCOMMAND_VOLUME_UP и APPCOMMAND_VOLUME_DOWN имеет значение, если оно начинается с 0xA и 0x9?
//private const int APPCOMMAND_VOLUME_UP = 0xA0000;
private const int APPCOMMAND_VOLUME_UP = 0xAFFFF;
private const int APPCOMMAND_VOLUME_DOWN = 0x90000;
private const int WM_APPCOMMAND = 0x319;
[DllImport("user32.dll")]
public static extern IntPtr SendMessageW(IntPtr hWnd, int Msg,
IntPtr wParam, IntPtr lParam);
private void btnVolumeUp_Click(object sender, RoutedEventArgs e)
{
SendMessageW(new WindowInteropHelper(this).Handle, WM_APPCOMMAND, new WindowInteropHelper(this).Handle,
(IntPtr)APPCOMMAND_VOLUME_UP);
}
Я заметил, что значения двух переменных APPCOMMAND_VOLUME_UP и APPCOMMAND_VOLUME_DOWN на самом деле не имеет значения, пока вверх значение начинается с 0xA и вниз значение начинается с 0x9. Я пробовал много разных значений между 0000 и FFFF для сценариев UP и DOWN. Правда ли, что ценности не имеют значения?
У меня нет больших знаний о вызовах взаимодействия. Может кто-нибудь объяснить важность этих ценностей?
Спасибо заранее!
См https://msdn.microsoft.com/en-us/library/windows/desktop/ms646275%28v=vs.85%29.aspx – stuartd