Wie Handle eines anderen Fensters rausbekommen?
-
adfawsdfasssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!open() == ERROR!
-
michib schrieb:
Hi,
wie kann ich rausfinden welche Programme (Anwendungen) geöffnet sind?
Gruß MichiDamit:

**CreateToolhelp32Snapshot
Takes a snapshot of the processes and the heaps, modules, and threads used by the processes.HANDLE WINAPI CreateToolhelp32Snapshot(
DWORD dwFlags,
DWORD th32ProcessID
);**
-
Hi,
danke...
Und wie bekomm ich jetzt mittels des Handles die einzelnen Programme raus?
Gruß Michi
-
michib schrieb:
Hi,
danke...
Und wie bekomm ich jetzt mittels des Handles die einzelnen Programme raus?
Gruß MichiWie stellst du dir das denn konkret vor ?--> Ein 'Programm herausbekommen' ?
-
Hi,
ich will konkret wissen welche Programme geöffnet sind, ich will die Namen der geöffneten Programme bekommen!
Und ich hab ja nur das Handle!
Gruß Michi
-
michib schrieb:
Und ich hab ja nur das Handle!
Gruß MichiMeinst du HWND ? Oder den Handle den du von CreateToolhelp32Snapshot bekommst ?
-
Hi,
eigentlich will ich bloß die Namen aller geöffneten Programme.
Und die hwnd der Fenster.
Gruß Michi
-
michib schrieb:
Hi,
eigentlich will ich bloß die Namen aller geöffneten Programme.
Und die hwnd der Fenster.
Gruß MichiAhso
na dann mit:Bzw. für den 'Namen'...WM_GETTEXT und WM_GETTEXTLEN

-
Hi,
danke!
Ich hab die beiden mal angeschaut...
aber kann damit nicht soviel anfangen z.B. wie man sie benützt!
Gruß Michi
-
michib schrieb:
aber kann damit nicht soviel anfangen z.B. wie man sie benützt!
Na so:
#include <ioStream> #include <Windows.h> using namespace std; BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam) { if(hWnd == NULL) return (FALSE); char szBuffer[300]; if(!IsWindowVisible(hWnd)) // Wenn nicht sichtbar, dann überspringen return (TRUE); SendMessage(hWnd, WM_GETTEXT, sizeof(szBuffer) / sizeof(TCHAR), (LPARAM)szBuffer)); cout << "Aktueller Fenstertext: " << szBuffer << endl; return (TRUE); } int main() { cout << "\nStarte Enumeration..." << endl; EnumWindows(EnumWindowsProc, NULL); cout << "Fenster-Enumeration beendet." << endl; return (0); }
-
hab ein paar kleine verbesserungen gemacht:
#include <ioStream> #include <Windows.h> using namespace std; BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam) { if(hWnd == NULL) return (FALSE); char szBuffer[300]; if(!IsWindowVisible(hWnd)) // Wenn nicht sichtbar, dann überspringen return (TRUE); SendMessage(hWnd, WM_GETTEXT, sizeof(szBuffer) / sizeof(TCHAR), (LPARAM)szBuffer)); cout << "Aktueller Fenstertext: " << szBuffer << endl; return (TRUE); } int main() { cout << "\nStarte Enumeration..." << endl; EnumWindows(EnumWindowsProc, NULL); cout << "Fenster-Enumeration beendet." << endl; return (0); }cya
-
@Kinko:
Kinko schrieb:
hab ein paar kleine verbesserungen gemacht:
[...]Mein Code[...]
cya
Lächerlich!, Was bist du denn für ein Noob...du hast gar nicht verbessert. Was für 'n Troll.
-
Hallo,
ich bin eben auf diesen Beitrag gestoßen, weil ich das gleiche Problem habe. Ich habe eben das Programm fast exakt so ausgeführt, wie CodeFinder es geschrieben hat.
Allerdings bekomme ich von sämtlichen Fenstertiteln immer nur das erste Zeichen. Meine Ausgabe sieht folgendermaßen aus:
Starte Enumeration... Aktueller Fenstertext: Aktueller Fenstertext: c Aktueller Fenstertext: l Aktueller Fenstertext: P Aktueller Fenstertext: C Aktueller Fenstertext: M Aktueller Fenstertext: C Aktueller Fenstertext: \ Aktueller Fenstertext: M Aktueller Fenstertext: C Aktueller Fenstertext: \ Aktueller Fenstertext: C Aktueller Fenstertext: P Aktueller Fenstertext: C Aktueller Fenstertext: C Aktueller Fenstertext: C Aktueller Fenstertext: C Aktueller Fenstertext: H Aktueller Fenstertext: C Aktueller Fenstertext: P Fenster-Enumeration beendet.Mein Code sieht so aus:
#include "stdafx.h" #include <ioStream> #include <Windows.h> using namespace std; #pragma comment (lib, "User32.lib") BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam) { if(hWnd == NULL) return (FALSE); char szBuffer[300]; if(!IsWindowVisible(hWnd)) // Wenn nicht sichtbar, dann überspringen return (TRUE); SendMessage(hWnd, WM_GETTEXT, sizeof(szBuffer) / sizeof(TCHAR), (LPARAM)szBuffer); cout << "Aktueller Fenstertext: " << szBuffer << endl; return (TRUE); } int main() { cout << "\nStarte Enumeration..." << endl; EnumWindows(EnumWindowsProc, NULL); cout << "Fenster-Enumeration beendet." << endl; int i; cin >> i; return (0); }Ich benutze Visual C++ 2005 Express.
Woran könnte es liegen, dass ich immer nur ein Zeichen der Fenstertitel bekomme?
-
sizeof(szBuffer) / sizeof(TCHAR)
@codefinder: wenn schon so, dann auch bitte TCHAR szBuffer ;).
-
cyclohexan schrieb:
Woran könnte es liegen, dass ich immer nur ein Zeichen der Fenstertitel bekomme?
Hi! Vereinfacht ausgedrückt: cout guckt, was an Adresse 0001 steht und gibt es auf die Console aus. Es guckt nicht, was noch an den nachfolgenden Adressen steht. Somit kriegst du in der derzeitigen Implementierung nur das erste Zeichen. HTH - sarabande