Seite 1 von 1

EnumWindows

Verfasst: 20. April 2008 17:06
von shou
Hallo zusammen,

ich versteh nich wieso mein code hier nicht funktioniert.
meine Methode loadScreen() wird nicht einmal aufgerufen :(
was stimmt hier nicht?

Code: Alles auswählen

#include "enuMator.h"

#include <windows.h>

BOOL CALLBACK MyEnumProc(HWND hWnd, LPARAM lParam) {
    char title[500];
    ZeroMemory(title, sizeof(title));


    if(!IsWindowVisible(hWnd)) return true;
    //GetWindowText(hWnd, title, sizeof(title)/sizeof(title[0]));
    
    enuMator* pAusgabe = (enuMator*)lParam; 
    pAusgabe->loadScreen();

    return true;
}

void enuMator::loadScreen() {
	emit sendText(tr("Fenster gefunden: ") + tr("test") + tr("\n"));
}

void enuMator::beginEnum() {
	enuMator* weiterGehts = this;	
	EnumWindows(MyEnumProc, (LPARAM)&weiterGehts);
}

Verfasst: 20. April 2008 17:17
von PeterLustig
Vielleicht springt er bei der ersten Kontrollstruktur bereits aus der Funktion? Oder bei dem C-Cast geht etwas schief?

Verfasst: 20. April 2008 17:17
von upsala
Was hat das außer daß die Funktionen emit und tr enthalten sind, mit Qt zu tun? Außerdem: Debugger defekt?

Verfasst: 20. April 2008 17:42
von shou
weil genau der selbe code in einem anderen programm funzt. nur hier mit QT funzt er nicht, daher liegt es vll an QT.
kann das sein?

Verfasst: 20. April 2008 18:19
von -=Freaky=-
wie upsala schon anmerkte, benutz doch mal nen debugger und/oder fueg debug-ausgaben ein, damit du weisst, was los ist und was wo schieflaeuft.
danach kommt dann das warum ...

mfg,
julian

Verfasst: 20. April 2008 19:46
von shou
laut compiler sollte alles gehn, es gibt keine fehlermeldung

Verfasst: 20. April 2008 21:21
von upsala
Es hat ja auch ohne Debugger keine Fehlermeldung gegeben, oder doch? Und was heißt es sollte gehen, entweder es funktioniert, oder es funktioniert nicht, 0 oder 1. Wir arbeiten hier mit Computern und nicht mit OPs...