HWND anzeigen
-
Hallo,
ich hab grade meine erste dll gebaut.
Ich möchte in dieser jetzt einen Handle in einer MessageBox anzeigen. Der Handle wird mir als Argument aus einer VB Applikation übergeben.Wie kann ich einen Handle in einer MessageBox schreiben?
Ich krieg immer wirre ASCII Zeichen.
Sieht so aus:
MessageBox(NULL, (LPCSTR)hWnd, "from dll", MB_OK);
Wäre für einen Tipp sehr dankbar!
Bye
Joe
-
Erst mal die einfache Frage: Was erhoffst du dir davon ;)? Ich glaub nicht, dass ein Handle einen Namen beinhaltet, wie z.B. "Windows_Handle_#12917" oder so. Ein Handle ist ein void-Pointer, du könntest es mal per _stprintf versuchen, bin mir aber nicht sicher.
cya
-
Also im VB is einer Handle ein Wert vom typ long
Da kann ich also den handle anzeigen lassen
z.B. 6376457
Den Wert muss ich doch auch in C irgendwie herausfinden, zumal ich ihn übergebe.
Ausserdem sind soweit ich bisher wusste Handles sowieso Zahlenwerte.
-
Wieso? Ein Handle ist doch auch nur ein Integer oder liege ich da falsch?
-
Also irgendjemand hier hat mal gesagt, dass ein Handle ein void-Pointer ist... kann natürlich sein, dass der auf nen Integer zeigt, aber wieso dann nicht gleich ein int-Pointer??? Aber wie gesagt, ich kenn mich da nicht aus ;), wollte nur wissen, zu was man sowas überhaupt braucht.
cya
-
Alsooooooo...
Ich schreibe grad an einem Proggi, welches mir Screenys schiesst. Um das ganze ein bisschen reizvoller zu gestalten stopf ich das Progg inne dll. Aus dem VB möchte ich gerne die dll aufrufen und einen Screeny machen.
Das Argument ist der Handle des Fensters.Sprich:
VB->Argument HWND->dll->freut sich über den handle des Fensters das es knippsen soll
-
Ja, aber wieso willst du das Handle dann ausgeben????
cya
-
debugging
-
Da nimmt man doch den Debugger, um zu überprüfen, ob jetzt ein Handle einen Wert hat oder nicht :D!
cya
-
wsprintf(string,"%lx",handle); // bzw "%li" MessageBox(0,string,0,0);
-
Oder einfach
wsprintf(str, "%d", (int)handle); MessageBox(handle, str, "HALLO", MB_OK);
-
Und so ist es am allerbesten:
wsprintf: Formatstring für die Ausgabe eines Handles
-
JO, wenn man Hex-Zahen ausgeben will.
-
Ja, was sonst.
-
Erstmal danke für eure antworten.
Ich muss nochn bisschen frickeln. Denn so ohne weiteres gehts nich.@MagiC Creator
Vielleicht solltest du in erwähgung ziehen zu versuchen meine Frage zu beantworten, anstatt meine Motivation zu hinterfragen.+
Ich debugge nicht mit dem normalen debugger, weils nich geht. Ich programmiere mir eine dll, die dll kompiliere ich um sie zu testen. Hab bisher noch nich rausgefunden, wie ich eine dll debuggen kann. Ist ja schliesslich vorkompiliert.Greetz
Joey
-
JIPPI!
Hat gefunzt!
Der Fehler lag daran, das ich den handle aus dem VB erstmal byval übergeben musste. Dann konnte die dll damit auch was anfangen.