Utilisez l'API SendInput Windows si vous parlez de la programmation sous Win32.
Vous devez créer des structures INPUT en définissant le membre de type sur INPUT_KEYBOARD. Dans le membre ki (type KEYBDINPUT), vous pouvez définir vk (clé virtuelle) sur le code VK souhaité (par exemple, VK_MEDIA_NEXT_TRACK, VK_MEDIA_STOP).
codes clés virtuels: http://msdn.microsoft.com/en-us/library/dd375731(v=VS.85).aspx
SendInput Fonction: http://msdn.microsoft.com/en-us/library/ms646310(v=VS.85).aspx
Je n'ai pas testé ce qui suit, mais devrait être comme ceci:
KEYBDINPUT kbi;
kbi.wVk = VK_MEDIA_STOP; // Provide your own
kbi.wScan = 0;
kbi.dwFlags = 0; // See docs for flags (mm keys may need Extended key flag)
kbi.time = 0;
kbi.dwExtraInfo = (ULONG_PTR) GetMessageExtraInfo();
INPUT input;
input.type = INPUT_KEYBOARD;
input.ki = kbi;
SendInput(1, &input, sizeof(INPUT));
Langue agnostique? Je pense que vous devez vous soucier de l'agnostic du système d'exploitation. Une solution, quelle que soit la langue dans laquelle elle est implémentée, devra cibler un système d'exploitation spécifique. –