Question

alors, je suppose que je dois le faire en c ++, est-ce que quelqu'un est au courant de ce problème? Je cherche déjà partout et j'ai trouvé des articles sur le verrouillage du clavier sur Windows CE, Windows Mobile est Windows CE, n'est-ce pas? autres questions: quel compilateur gratuit, ide pour Windows Mobile que je pourrais utiliser?

Était-ce utile?

La solution

SetWindowsHookEx n'est pris en charge par aucune version de WindowsCE (read: Mobile). Les crochets en général ne sont pas pris en charge, en fait.

Toutefois, si vous souhaitez utiliser des API non documentées / non prises en charge, vous pouvez extraire SetWindowsHookEx sur coredll.dll, et appelez-le comme vous le feriez sous Windows. Vous voulez WH_KEYBOARD_LL, qui, selon un peu de Google, vaut 20.

Vous aurez en fait besoin de tirer des pointeurs sur les méthodes suivantes: SetWindowsHookEx , CallNextHookEx , et UnhookWindowsHookEx .

Votre code ressemblera (ceci n'est pas testé):

//myHook.dll
LRESULT myLowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
  //You'll need to pull a reference to CallNextHookEx out of coredll as well
  if(nCode < 0) return CallNextHookEx(nCode, wParam, lParam);

  KBDLLHOOKSTRUCT data = *((PKBDLLHOOKSTRUCT)lParam);

  //Do something with data

  return CallNextHookEx(nCode, wParam, lParam);
}

//Main Code, which ignores all the nasty function pointers you'd ACTUALLY have to use to do this
...
HHOOK hook = SetWindowsHookEx(WH_KEYBOARD_LL, pMyLowLevelKeyboardProc, hMyHookDll, 0);
...
//Some point in the future
UnhookWindowsHookEx(hook);

Je suggère fortement contre cela cependant. Je doute fort que ce code continue à fonctionner pour toutes les versions futures de Windows Mobile. Envisagez une autre façon de réaliser ce que vous recherchez réellement.

Je ne peux pas dire que j'ai des recommandations pour les compilateurs gratuits ou les IDE. Toute autre chose que Visual Studio pour C / C ++ me cause toujours beaucoup de frustration. Je pense que cela reflète plus mes habitudes que les commentaires sur d’autres outils.

Autres conseils

http: // www.naresh.se/2009/09/08/getkeyboardstate-mousehooks-not-available-in-windows-mobile/

Suivez l'URL ci-dessus. Il dispose du code requis pour fonctionner sous Windows Mobile et Windows CE, ainsi que d'une bonne explication et d'un forum pour en discuter plus en détail sur ...

J'ai oublié de dire que le code est en C #, comme l'exigent d'autres utilisateurs ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top