PB Editor auslesen
Verfasst: 06.04.2008 19:53
Hi Leute,
das folgende Beispiel zeigt, wie ihr den aktuellen Quelltext aus der PB IDE auslest, solange diese den Focus hat.
Gruß
Scarabol
das folgende Beispiel zeigt, wie ihr den aktuellen Quelltext aus der PB IDE auslest, solange diese den Focus hat.
Code: Alles auswählen
Global parent
Global child
Procedure.s GadgetText(GadgetID)
Protected buffer$, num
num = SendMessage_(GadgetID, #WM_GETTEXTLENGTH, 0, 0)
buffer$ = Space(num+1)
SendMessage_(GadgetID, #WM_GETTEXT, num+1, @buffer$)
ProcedureReturn buffer$
EndProcedure
Procedure.s GetWindowText(hwnd)
Protected l.l, buffer$
l = GetWindowTextLength_(hwnd)+1
buffer$ = Space(l)
If GetWindowText_(hwnd, buffer$, l)
ProcedureReturn buffer$
EndIf
EndProcedure
OpenWindow(1, 0, 0, 400, 300, "PB Dir Helper", #PB_Window_ScreenCentered|#PB_Window_SystemMenu)
CreateGadgetList(WindowID(1))
EditorGadget(3, 10, 10, 380, 250)
SetWindowPos_(WindowID(1), #HWND_TOPMOST, WindowX(1), WindowY(1), WindowWidth(1), WindowHeight(1), 0)
Repeat
event = WaitWindowEvent(50)
parent = 0
hwnd = GetForegroundWindow_()
If Mid(GetWindowText(hwnd), 0, 9) = "PureBasic"
parent = hwnd
EndIf
If parent
AttachThreadInput_(GetWindowThreadProcessId_(parent, 0), GetWindowThreadProcessId_(WindowID(1), 0), 1)
child = GetFocus_()
AttachThreadInput_(GetWindowThreadProcessId_(parent, 0), GetWindowThreadProcessId_(WindowID(1), 0), 0)
SetGadgetText(3, GadgetText(child))
EndIf
Until event = #PB_Event_CloseWindow
Scarabol