Ich möchte von einer DLL eine Funktion nützen. Diese Funktion verlangt genau einen Parameter der heißt:.....(HWND hWnd); Jetzt hab ich schon in der MSDN in zwei Büchern und im Forum nachgelesen, bis jetzt weiß ich nur das ich ein neues Fenster Registrieren muss. Aber alle versuche ein gültiges hWnd Objekt zu erstellen schlugen fehl!
Im prinzip handelt es sich dabei ja um die Parameter für ein Fenster in dem dann die Funktion aus der DLL etwas macht oder? (wenn nicht hab ich da etwas grundlegend falsch verstanden)
Wie kann ich ein ganz einfaches hWnd erstellen um die Funktion (aus der DLL) zu Testen? Oder stelle ich mir das vielleicht viel zu einfach vor?
Ich weiß viele viele Fragen aber ich würde mich sehr über weiterhelfende Ratschläge freuen!
Ein HWND ist einfach ein HANDLE auf ein Fenster und ein HANDLE ist einfach eine interne Nummer von Windows mit dem es verschiedene Dinge identifiziert.
In der MFC (die du ja anscheinend benutzt) kommt man normalerweise aber nicht mit einem HANDLE in berührung, da das alles durch die verschiedenen Klassen gekapselt wird. Du hast aber bei der CWND Klasse eine Funktion die dir das HANDLE des entsprechenden Fensters liefert. Ich glaube aber das du, aus dem oben genannten Grund trotzdem Probleme haben wirst.
Am Besten wäre es wenn du uns sagst was für ein Programm du hast, was das für eine DLL ist und was die besagte Funktion machen soll.
Die DLL ist von einer Firma mit deren hilfe man auf den Framegrabber für eine Kamera zugreifen kann! In fast jeder Funktion die man von dieser DLL nützen kann benötigt man dieses HWND hWnd! Z.B. gibt es da eben diese Funktion die nur HWND hWnd als Parameter benötigt. (ich dachte mit der geht es dann am leichtesten zum Testen) Die Funktion soll das Clipboard öffnen und das Fenster hWnd zum Clipboard Owner machen. (So steht es in der Beschreibung der Funktion.)
Oder eine ander Funktion: ....(HWND hBmpWnd) Die Funktion gibt den Bildspeicher zurück, der dem Bitmap-Fenster zugeordnet ist. Falls dem Bitmap-Fenster kein Single-Plane Bildspeicher zugeordnet wurde, wird NULL zurückgegeben.
Ich hoffe das ist genügend Information! Danke! LG, Ronny
Dann versuch doch einfach mal das Handle von dem Fenster welches du als Owner haben willst an die Funktion zu übergeben. Die Funktion die ich eben meinte heißt übrigens CWND::GetSafeHwnd().