Tout d'abord, J'essaie d'envoyer une entrée au clavier à une application en arrière-plan (une fenêtre qui n'a pas de focus ou qui n'apparaît même pas visible à l'utilisateur).C# PostMessage pas d'envoi et pas d'erreur
J'ai vérifié que le winHandle et les constantes sont corrects. Problème est l'application d'arrière-plan ne semble pas obtenir le message, SAUF, Je définis un point d'arrêt sur la ligne PostMessage(), et appuyez sur F10 (pas à pas) ou F5 (Continuer) quand il y arrive, puis la frappe magiquement est envoyé.
Ce qui donne? Code pertinent:
[DllImport("User32.Dll", EntryPoint = "PostMessageA", SetLastError = true)]
public static extern bool PostMessage(IntPtr hWnd, uint msg, int wParam, int lParam);
PostMessage(winHandle, (uint)WM_KEYDOWN, 66, 0);
En utilisant Win7 64 et MS Visual Studio 2008 Pro, l'application de la console. Et le code ci-dessus est sur un thread si cela aide.
peut être le coup de clé qui est envoyé est de F10 ou F5;) –