Le code a travaillé tout le long. D'une manière ou d'une autre, je parviens à faire en sorte que Visual C++ Express n'atteigne pas le point de rupture de la déclaration de retour finale et semble fonctionner à jamais.Comment faire pour arrêter EnumWindows exécutant infiniment win32
Dans l'exemple de code ci-dessous, EnumWindows énumère à l'infini. Comment peut-on l'arrêter après que toutes les fenêtres ont été énumérées.
#include <Windows.h>
BOOL CALLBACK EnumWindowsProc(HWND hWnd, long lParam) {
TCHAR buff[255];
if (IsWindowVisible(hWnd)) {
GetWindowText(hWnd, (LPWSTR) buff, 254);
printf("%S\n", buff);
}
return TRUE;
}
int _tmain(int argc, _TCHAR* argv[]) {
EnumWindows(EnumWindowsProc, 0);
return 0;
}
Votre projet utilise-t-il UNICODE? Aussi, quelle version de la plate-forme/VS utilisez-vous? Aussi pourquoi utilisez-vous '% S'? – dirkgently
Plate-forme XP SP2. GetWindowText semble renvoyer une chaîne large. Utilisé% S pour imprimer une chaîne large. – s5804
Mais qu'est-ce qui est exactement imprimé ??? –