Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Hilfe für EnumWindow (Forum Thread)

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
30.04.2004, 12:48 Uhr
~Richard
Gast


Hallo,
ich kriege diesen Code in meiner Dialoganwendung einfach nicht zum Laufen.
Das war ein Thread von Tommix !
Ich benutzer MFC basierende Dialogandwendung.

Der Kompiler bringt bei diesem Funktionsaufruf einen Fehler:

[/cpp]
EnumWindows(EnumWindowsProc, NULL);
[cpp]
... und zwar bei 1. Parameter (EnumWindowsProc)



[cpp]
#include <windows.h>

#ifdef _MSC_VER
#pragma warning(disable:4786)
#endif

#include <iostream>
#include <list>
#include <string>

typedef std::list<std::string> stringlist;

stringlist winList;
static int unnamed = 0;

BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM)
{
const int MaxLen = 80;
char title[MaxLen];

if (GetWindowText(hWnd, title, MaxLen))
winList.push_back(title);
else
++unnamed;

return TRUE;
}


int main()
{
EnumWindows(EnumWindowsProc, NULL);

winList.sort();

for(stringlist::iterator i = winList.begin();
i != winList.end(); ++i)
std::cout << *i << std::endl;

std::cout << winList.size() << " windows found (+" <<
unnamed << " without title)." << std::endl;

return 0;
}
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
30.04.2004, 12:50 Uhr
~Richard
Gast


Irgendwas ist das wohl schief gegangen


C++:
#include <windows.h>

#ifdef _MSC_VER
#pragma warning(disable:4786)
#endif

#include <iostream>
#include <list>
#include <string>

typedef std::list<std::string> stringlist;

stringlist winList;
static int unnamed = 0;

BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM)
{
    const int MaxLen = 80;
    char title[MaxLen];
    
    if (GetWindowText(hWnd, title, MaxLen))
        winList.push_back(title);
    else
        ++unnamed;

    return TRUE;
}


int main()
{
    EnumWindows(EnumWindowsProc, NULL);
    
    winList.sort();

    for(stringlist::iterator i = winList.begin();
            i != winList.end(); ++i)
        std::cout << *i << std::endl;

    std::cout << winList.size() << " windows found (+" <<
        unnamed << " without title)." << std::endl;

    return 0;
}


 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
30.04.2004, 15:27 Uhr
~toxic
Gast


hi, bei was genau meckert den der compiler ? ich hab gerade diesen code compiliert + gestartet und er läuft !
denk dran das das eine konsolenanwendung ist ! eventuell hilft das :

C++:
int main(int argc, char* argv[])
{
...
}

--
gruß
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
30.04.2004, 16:03 Uhr
~Richard
Gast


Ja, ich weiß.
Der Fehler lag an mir:
Ich habe die global CALLBACK Funktion erst nachdem Aufruf definiert -
dann er sie natürlich nicht finden ...

thanks
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: