Seite 1 von 1

Sonderzeichen chr(124)

Verfasst: 10.05.2008 01:43
von Tommy_
Versuche ein externes Fenster über PB (v3.80) zu schließen.

Dazu benutze ich diesen code

Code: Alles auswählen

hwnd = FindWindow_(#Null, Fenstertitel$+chr(124))
If hwnd
  PostMessage_(hwnd,#WM_CLOSE,0,#True)
Else
  Debug "Nicht gefunden!"
EndIf
Leider enthält der Name des Fensters das Sonderzeichen | (124) und wird dadurch nicht gefunden.Wenn ich das Programm schrittweise ausführe und mir die Variablen im Debugger anschaue sehe ich das das Zeichen einfach nicht dargestellt wird.


Was hat es mit dem Zeichen | auf sich ?

Verfasst: 10.05.2008 01:53
von STARGÅTE
wenn es im debugger nicht dargestellt wird, woher weißt du das es das 124er zeichen ist ?

und wenn es ein | ist, wieso schreibst du ihn nicht einfach mit in den Fenstertitel$

es würde vllt mehr helfen wenn du uns noch den Titel postest

Verfasst: 10.05.2008 02:33
von tobe
am chr(124) liegt es glaub ich nicht

Code: Alles auswählen

Global Fenstertitel$
Fenstertitel$ = "test"+Chr(124)
Procedure Fenster(dummy)
  OpenWindow(0, 0, 0, 300, 200, #PB_Window_ScreenCentered, Fenstertitel$)
  While WaitWindowEvent() <> #PB_Event_CloseWindow : Wend
EndProcedure
CreateThread(@Fenster(), 0)
Delay(2000)
hwnd = FindWindow_(0, Fenstertitel$)
If hwnd
  PostMessage_(hwnd,#PB_Event_CloseWindow,0,1)
Else
  Debug "Nicht gefunden!"
EndIf
funktioniert ja auch problemlos.

Verfasst: 11.05.2008 19:23
von Tommy_
Uups, habe den Fehler jetzt entdeckt, es lag an dem Fenstertitel der nicht korrekt angegeben war.Es funktioniert jetzt. :allright: