2010-07-11 5 views
3

Est-il possible de mettre l'accent sur une application de la console dans Windows? SetFocus semble prometteur, mais il a besoin d'un HWND et je ne sais pas si les applications de console en ont même un.Mettre l'accent sur la console dans Windows?

+0

Vous cherchez une façon de le faire à l'intérieur de l'application de la console elle-même ou d'une autre application? –

Répondre

2

Utilisez la fonction GetConsoleWindow.

+0

Cela renvoie NULL pour moi. Je suppose que cela fonctionne si je crée réellement une console pour une application Windows avec AllocConsole ou quelque chose. – Steven

+0

S'il est exécuté dans une session de console fenêtrée, vous devez obtenir un HWND valide. Si c'est dans une session de connexion au service, aucune fenêtre ne sera associée. Et Windows appelle automatiquement '' AllocConsole' ou AttachConsole' chaque fois qu'il démarre un processus lié à la '/ SUBSYSTEM: l'option CONSOLE' (stockée sous forme d'un drapeau dans l'en-tête PE). –

+0

En fait 'GetConsoleWindow' fonctionne. Cependant 'SetFocus' renvoie NULL et' GetLastError' donne ERROR_ACCESS_DENIED. Des idées pourquoi? – Steven

Questions connexes