Archiv verlassen und diese Seite im Standarddesign anzeigen : EnumWindows Funktion
Hi,
bräuchte mal ein wenig Hilfe mit dieser Funktion. Bei mir gibt die nämlich nur müll aus und nicht den(die) Fenstertitel. Hier mal die Funktion:
BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lparam)
{
TCHAR windowname[255];;
GetWindowText(hwnd,windowname, sizeof(windowname));
printf("%s\n", windowname);
return TRUE;
}
int _tmain(int argc, _TCHAR* argv[])
{
EnumWindows(EnumWindowsProc,NULL);
return 0;
}
Meine Vermutung: Ich denke irgendwas stimmt mit dem Datentyp der Variable windowname nicht, bin mir aber nicht sicher :roll:
Wär nett wenn wer meinen Fehler finden könnte.
mfg
Dein Code macht mich gerade ganz perplex. :D Ist das C#?
Was mir auffällt:
EnumWindows(EnumWindowsProc,NULL);
Du übergibst EnumWindows() als erstem Parameter EnumWindowsProc.
In deinem Code sehe ich aber keine Variable EnumWindowsProc sondern nur folgende Funktion:
BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lparam)
Und diese Braucht natürlich auch ihr Parameter.
Müsste dann so aussehen.
EnumWindows(EnumWindowsProc(/*dein hwnd*/, /*dein lparam*/),NULL);
Oder ist das was C#, wenn es denn das ist, spezifisches?
blackberry
07.10.2008, 22:47
Bitteschön:
#include <stdio.h>
#include <windows.h>
// BOOL (groß) = int
int __stdcall EnumWindowsProc1(HWND, LPARAM);
int main(void)
{
EnumWindows(EnumWindowsProc1, (LPARAM) 0);
return 0;
}
int __stdcall EnumWindowsProc1(HWND hWnd, LPARAM lParam)
{
char buffer[200];
GetWindowText(hWnd, buffer, sizeof(buffer) - 1);
if (buffer[0] != 0) /* fenster ohne namen überspringen */
printf("- %s\n", buffer);
return true;
}
Ausgabe:
blackberry@system:~/Desktop$ wine a.exe
- Find Text
- Dev-C++ 4.9.9.2
- WebUpdate
- Replace Text
- Incremental Search
- Dev-C++
- Wine System Tray
Nunja erstmal danke für die Hilfe, leider hab ich das Problem immernoch.
Der Code funktioniert, aber nicht so wie ich es will^^
Visual c++ 2008 kompiliert, soweit ich das jetzt mitbekommen habe, nur mit Unicode. Irgendwie will der Code aber mit wchar_t nicht laufen, irgendjemand ne Idee`?
@noctem: is kein C#, dass ist C/C++ und der Funktionsaufruf funktioniert :lol:
blackberry
08.10.2008, 13:13
Und wozu brauchst du Unicode?
Und warum benutzt du MSVC (ich kann das Ding nicht ausstehen)?
Na ausgesucht hab ichs mir ja nicht, was soll ich machen wenn das Ding die Win32 Projekte nur mit Unicode kompiliert bzw. was soll ich denn sonst verwenden außer MSVC??^^
mfg
blackberry
08.10.2008, 13:32
Mingw32 (in Dev-C++)
staebche
09.10.2008, 17:02
Mingw32 (in Dev-C++)
Tschuldige Blackberry =) ich weiss das du mehr drauf
hast als einige andere hier, aber bei der IDE (ich wollte
schon compiler schreiben) habe ich schon öfters schlechte
erfahrungen gemacht.
am besten sasori du nimmst codeblocks. daran wird
wenigstens noch weitergearbeitet, und der compiler
ist er selbe wie in dev.cpp
hier mal en link Download (http://www.codeblocks.org/downloads/5)
Powered by vBulletin® Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.