❔ media key press
I want to press media key (music) using c# (next track, previous track, pause resume)A


SendInput and send virtual media keys



i used CsWin32
SendInput/close using System.Runtime.InteropServices;
using Windows.Win32;
using Windows.Win32.UI.Input.KeyboardAndMouse;
var input = new INPUT[2];
input[0].type = INPUT_TYPE.INPUT_KEYBOARD;
input[0].Anonymous.ki.wVk = VIRTUAL_KEY.VK_MEDIA_PLAY_PAUSE;
input[1].type = INPUT_TYPE.INPUT_KEYBOARD;
input[1].Anonymous.ki.wVk = VIRTUAL_KEY.VK_MEDIA_PLAY_PAUSE;
input[1].Anonymous.ki.dwFlags = KEYBD_EVENT_FLAGS.KEYEVENTF_KEYUP;
PInvoke.SendInput(input, Marshal.SizeOf<INPUT>());using System.Diagnostics;
using System.Net.Sockets;
using System.Net;
using System.IO;
using AudioSwitcher.AudioApi.CoreAudio;
using System;
using System.Windows.Media;
using System.Runtime.InteropServices;
using Microsoft.Win32;
using System.Windows.Input;
using Slack.Webhooks.Blocks;
using System.Runtime.InteropServices;
using Microsoft.Win32; var input = new Input[2];
input[0].type = INPUT_TYPE.INPUT_KEYBOARD;
input[0].Anonymous.ki.wVk = VIRTUAL_KEY.VK_MEDIA_PLAY_PAUSE;
input[1].type = INPUT_TYPE.INPUT_KEYBOARD;
input[1].Anonymous.ki.wVk = VIRTUAL_KEY.VK_MEDIA_PLAY_PAUSE;
input[1].Anonymous.ki.dwFlags = KEYBD_EVENT_FLAGS.KEYEVENTF_KEYUP;
PInvoke.SendInput(input, Marshal.SizeOf<INPUT>());var input = new INPUT[2];
input[0].type = INPUT_TYPE.INPUT_KEYBOARD;
input[0].Anonymous.ki.wVk = VIRTUAL_KEY.VK_MEDIA_NEXT_TRACK;
input[1].type = INPUT_TYPE.INPUT_KEYBOARD;
input[1].Anonymous.ki.wVk = VIRTUAL_KEY.VK_MEDIA_NEXT_TRACK;
input[1].Anonymous.ki.dwFlags = KEYBD_EVENT_FLAGS.KEYEVENTF_KEYUP;
PInvoke.SendInput(input, Marshal.SizeOf<INPUT>());