J'essaie de charger l'icône associée à l'application qui a appelé ma fonction.Comment puis-je trouver l'icône de mon application?
La façon dont je suis en train de résoudre le problème pour les applications de l'interface graphique est la suivante:
AfxGetApp()->LoadIcon(128); // 128 is the IDR_MAINFRAME icon
Cependant, les fonctions afx, à la recherche la ressource, échouer pour certaines applications non graphiques, depuis afxCurrentResourceHandle
est NULL.
Quelle serait une meilleure façon de trouver l'icône mainframe?
PS. Actuellement, je peux contourner ce problème en testant afxCurrentResourceHandle != NULL
... J'aimerais pouvoir faire mieux.
J'ai spécifiquement rencontré des problèmes pour les applications console. Je ne sais pas ce qui fait d'eux une application "MFC" ou non. Merci pour la tentative, mais 'TRUE' est une macro indiquant une logique booléenne, et' GetIcon' demande spécifiquement un argument 'UINT'. En d'autres termes: ceci ne devrait pas compiler; il le fait seulement par la grâce de la macro 'TRUE' étant défini comme un entier. – xtofl
Vous avez tort, monsieur. AfxGetMainWnd() renvoie un pointeur CWnd. La signature de CWnd :: GetIcon est: HICON CWnd :: GetIcon (BOOL bBigIcon). Vérifiez les docs. Merci pour le moins 1, mec. – Bukes