2015-03-29 19 views
5

C'è una vasta gamma di API/tecnologie di interazione utente, disponibile in Windows 8.1:moderna di Windows Input API/User Interaction API

  • di alto livello framework GUI (Windows Forms, WPF e molti altri framework di terze parti
  • Manipolazione diretta - Probabilmente ad alto livello anche.
  • Messaggi di immissione del puntatore e notifiche (MSDN link) - Interessante, ma dov'è l'analogo dell'API keybord?
  • DirectInput/XInput - Contrassegnato come legacy.
  • Input non elaborato - Contrassegnato come legacy.
  • WM_MOUSEMOVE, WM_LBUTTONDOWN, WM_KEYDOWN, ecc messaggi - contrassegnato come eredità.
  • Altro, quotata this MSDN page

Qualcuno mi può dare una breve panoramica di queste API e rivelare i seguenti aspetti (per ognuno di essi):

  • È questa API basato su un altro sottostante API o implementato nel nucleo?
  • Con quali dispositivi questa API può interagire?
  • eventuali caratteristiche esclusive, non implementate in altre API?
  • prestazioni/considerazioni generali: Quanto è veloce (nel confronto con gli altri)?

Così sto cercando nativo up-to-date di basso livello full-optional API di input, che non diventerà obsoleto nel prossimo di Windows 10, o il miscuglio di quelli (descritto sopra) API, più vicino a queste esigenze.

chiunque può fare una sorta di tabella di confronto?

+0

La documentazione di Microsoft non è mai stata particolarmente completa o corretta. Ma è probabilmente valido considerare i suoi segnali ** marketing ** come significativi, perché questo tipo di impressione è spesso veicolata dagli autori della tecnologia, intenzionalmente o meno. Ci sono volute due versioni di Windows, una valanga di reclami e vendite presumibilmente in calo per Microsoft per ripristinare il menu Start, e quindi solo a malincuore, per quanto posso dire (non ho ancora usato Windows 10). Poco prima di quella debacle ci volle l'estremo di un mercato per DOWNGRADING di Windows, per Microsoft per correggere alcuni degli eccessi di Vista. –

+0

Ad ogni modo, cosa intendi con "questa API". Per favore, sii chiaro. Stai elencando un numero eccessivo di API e stai chiedendo informazioni su un particolare non specificato - quale? –

+0

Con "questa API" intendo "ogni API dalla lista che ho dato sopra". – Injector

risposta

1

I messaggi e le notifiche di input del puntatore sembrano essere un'estensione del noto ciclo di messaggi per supportare i dispositivi multitouch. È possibile integrarlo facilmente con i messaggi della tastiera standard per un'API completa. Come ha sottolineato Retired Ninja, l'API di messaggistica è probabilmente destinata a superare la maggior parte delle API 'moderne'.

Eviterei qualsiasi nuova stravagante tecnica che diverga dallo standard WinAPI, perché questi paradigmi sembrano andare e venire. Rendere il gestore di input di basso livello sottile, allentato e standardizzato aiuterà il tuo programma a rimanere manutenibile.

L'aspetto dell'API di messaggistica di Windows è che viene esteso ogni volta che viene introdotto un nuovo dispositivo o funzionalità e ciò è coerente quanto diventa. È probabile che qualsiasi interfaccia di livello superiore sia inizialmente incompleta, quindi obsoleta e probabilmente basata su chiamate WinAPI.

Ho rinunciato a rendere il WndProc bello, con interruttori annidati, multipli se ... altro ecc.Ora lo tengo nel suo file sorgente, dove può fare il suo lavoro sporco di passare valori al codice esterno.

Problemi correlati