namen aller Fenster ausgeben
-
Hallo ich versuche derzeit eine Liste aller offenen Fenster, wie im Task-Manager zu bekommen. Da diese Namen noch weiter verarbeitet werden brauche ich die namen als string. Das einzigste das ich in mehreren Stunden google gefunden habe ist dieser Ansatz, der nur einen LPWSTR zurück gibt.
int main() { int last = (int)FindWindowExA(0, 0, 0, 0); int prev = 1; while (prev > 0) { prev = (int)GetNextWindow((HWND)last, GW_HWNDPREV); if (prev != 0) { last = prev; } } while (last > 0) { LPWSTR ch = L""; last = (int)GetNextWindow((HWND)last, GW_HWNDNEXT); GetWindowText((HWND)last, ch, 1000); cout<<ch<<endl; } cin.get(); }
Damit bekomme ich als Ausgabe 356 mal i-eine Zahlenkombination ausgegen. Kann mir jemand helfen?
-
Guckst du hier:
http://msdn.microsoft.com/en-us/library/ms633497(v=vs.85).aspxMfG, Jochen
-
Hier, ich hatte gerade Langeweile:
#include <windows.h> #include <iostream> using namespace std; BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam) { char str[300]; GetWindowTextA(hwnd,str,260); if(IsWindowVisible(hwnd))cout << str << endl; return 1; } int main() { EnumWindows(EnumWindowsProc,0); cin.get(); return 0; }
MfG, Jochen
-
vielleicht magst du das
https://sites.google.com/site/csourcecodes/windowsreportoder hier etwas runterscrollen zur Überschrift, Alle windowHandler finden:
und WindowHandle HWND von einer Thread id finden:
https://sites.google.com/site/csourcecodes/home/codesnippetsalles gute
buntehaare