ich habe mal ein paar Codes von RSBasic zusammengehauen:
Code: Alles auswählen
EnableExplicit
Global sgChrome.s = Chr(34) +"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"+ Chr(34)
Global sgHtml.s = Chr(34) + "--app=https://google.de" + Chr(34)
Global sgParams.s = " --chrome " + sgHtml
Global GoogleFound
Procedure EnumWindows(hWnd,Visibility=#True) ;Prozedur, die die Handles der Fenster erhält
Static title.s{1024},class.s{1024},PID.l=0
If IsWindowVisible_(hWnd) Or Visibility=#False
GetWindowText_(hWnd,@title,1024) ;Fenstertitel auslesen
GetClassName_(hWnd,@class,1024) ;Fensterklasse auslesen
GetWindowThreadProcessId_(hWnd,@PID) ;PID des zugehörigen Prozesses auslesen
; Debug "[Title]= "+title+" [hWnd]= "+Str(hWnd)+" [ClassName]= "+class+" [PID]= "+Str(PID) ;Werte ausgeben
If title = "Google"
SetParent_(hWnd, GadgetID(1))
SetWindowPos_(hWnd, 0, 0, 0, WindowWidth(0), WindowHeight(0), #SWP_NOZORDER | #SWP_FRAMECHANGED)
GoogleFound = #True
EndIf
EndIf
ProcedureReturn #True
EndProcedure
OpenWindow(0, 0, 0, 800, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If ContainerGadget(1, 0, 0, WindowWidth(0), WindowHeight(0), 0)
If RunProgram(sgChrome,sgParams,"",#PB_Program_Open)
Repeat
EnumWindows_(@EnumWindows(),#True) ;#True, um nur sichtbare Fenster anzuzeigen; ansonsten #False
If GoogleFound
Break
EndIf
Delay(50)
ForEver
EndIf
CloseGadgetList()
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
Grüße ... Peter