wenn man das WebGadget benutzen möchte, dann hat man unter Windows immer das Problem, dass standardmäßig Internet Explorer 7 benutzt wird.
Mit Internet Explorer 7 kann man viele Websiten nicht ohne Javascript-Fehler anzeigen. Auch HTML5 und CSS3 werden nicht unterstützt.
Es ist immer notwendig, eine Einstellung in die Registry für das eigene Programm zu erstellen.
Unter Linux hat man das Problem nicht, weil dort die WebKit-Engine benutzt wird.
Wenn man unter Windows ebenfalls die WebKit-Engine verwenden möchte, kann man meine Bibliothek benutzen und jede moderne Website ohne Fehler anzeigen.
Funktionen:
- WebGadgetEx()
- Syntax:
Code: Alles auswählen
Result = WebGadgetEx(ID, X, Y, Width, Height, URL$, ParentWindowID, @ErrorOutput$)
- Beschreibung: Erstellt ein WebGadget mit der WebKit-Engine.
- Parameter:
- ID: Eine eindeutige Nummer für das Gadget. #PB_Any kann verwendet werden, um die Nummer automatisch zu generieren.
- X: Legt die Position fest.
- Y: Legt die Position fest.
- Width: Legt die Breite fest.
- Height: Legt die Höhe fest.
- URL$: Die Adresse der Website, die geöffnet werden soll.
- ParentWindowID: Legt das Ziel-Fenster fest, in dem das Gadget erstellt wird.
- @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
- Rückgabewert:
- 1: Der Vorgang war erfolgreich. Falls #PB_Any verwendet wird, dann wird die ID zurückgegeben.
- Beispielcode:
Code: Alles auswählen
EnableExplicit Global PBEx_WebGadget #PBEx_WebGadgetEx_Version$ = "1.1.5.0" #PB_Web_Zoom = 100 #PB_Web_EnableDrop = 101 #PB_Web_StatusCode = 9 #PB_Web_AllText = 5 #PB_Web_SelectAll = 5 #PB_Web_Print = 6 CompilerIf #PB_Compiler_Processor = #PB_Processor_x86 PBEx_WebGadget = OpenLibrary(#PB_Any, "PB.Ex_WebGadget_x86.dll") CompilerElseIf #PB_Compiler_Processor = #PB_Processor_x64 PBEx_WebGadget = OpenLibrary(#PB_Any, "PB.Ex_WebGadget_x64.dll") CompilerEndIf If PBEx_WebGadget Prototype WebGadgetEx(ID, X, Y, Width, Height, URL.p-Unicode, ParentWindowID, ErrorOutput) Global WebGadgetEx.WebGadgetEx = GetFunction(PBEx_WebGadget, "WebGadgetEx") Prototype SetWebGadgetExText(ID, URL.p-Unicode, ErrorOutput) Global SetWebGadgetExText.SetWebGadgetExText = GetFunction(PBEx_WebGadget, "SetWebGadgetExText") Prototype GetWebGadgetExText(ID, Output, ErrorOutput) Global GetWebGadgetExText.GetWebGadgetExText = GetFunction(PBEx_WebGadget, "GetWebGadgetExText") Prototype SetWebGadgetExState(ID, State, ErrorOutput) Global SetWebGadgetExState.SetWebGadgetExState = GetFunction(PBEx_WebGadget, "SetWebGadgetExState") Prototype SetWebGadgetExItemText(ID, Entry, Text.p-Unicode, ErrorOutput) Global SetWebGadgetExItemText.SetWebGadgetExItemText = GetFunction(PBEx_WebGadget, "SetWebGadgetExItemText") Prototype GetWebGadgetExItemText(ID, Entry, Output, ErrorOutput) Global GetWebGadgetExItemText.GetWebGadgetExItemText = GetFunction(PBEx_WebGadget, "GetWebGadgetExItemText") Prototype FreeWebGadgetEx(ID, ErrorOutput) Global FreeWebGadgetEx.FreeWebGadgetEx = GetFunction(PBEx_WebGadget, "FreeWebGadgetEx") Prototype IsWebGadgetEx(ID, ErrorOutput) Global IsWebGadgetEx.IsWebGadgetEx = GetFunction(PBEx_WebGadget, "IsWebGadgetEx") Prototype WebGadgetExWidth(ID, ErrorOutput) Global WebGadgetExWidth.WebGadgetExWidth = GetFunction(PBEx_WebGadget, "WebGadgetExWidth") Prototype WebGadgetExHeight(ID, ErrorOutput) Global WebGadgetExHeight.WebGadgetExHeight = GetFunction(PBEx_WebGadget, "WebGadgetExHeight") Prototype WebGadgetExX(ID, ErrorOutput) Global WebGadgetExX.WebGadgetExX = GetFunction(PBEx_WebGadget, "WebGadgetExX") Prototype WebGadgetExY(ID, ErrorOutput) Global WebGadgetExY.WebGadgetExY = GetFunction(PBEx_WebGadget, "WebGadgetExY") Prototype WebGadgetExID(ID, ErrorOutput) Global WebGadgetExID.WebGadgetExID = GetFunction(PBEx_WebGadget, "WebGadgetExID") Prototype HideWebGadgetEx(ID, State, ErrorOutput) Global HideWebGadgetEx.HideWebGadgetEx = GetFunction(PBEx_WebGadget, "HideWebGadgetEx") Prototype ResizeWebGadgetEx(ID, X, Y, Width, Height, ErrorOutput) Global ResizeWebGadgetEx.ResizeWebGadgetEx = GetFunction(PBEx_WebGadget, "ResizeWebGadgetEx") Prototype HideWebGadgetExDevTools(ID, State, ErrorOutput) Global HideWebGadgetExDevTools.HideWebGadgetExDevTools = GetFunction(PBEx_WebGadget, "HideWebGadgetExDevTools") Prototype ExecuteWebGadgetExJavaScript(ID, Code.p-Unicode, Output, ErrorOutput) Global ExecuteWebGadgetExJavaScript.ExecuteWebGadgetExJavaScript = GetFunction(PBEx_WebGadget, "ExecuteWebGadgetExJavaScript") Prototype BindWebGadgetExJavaScript(ID, PBProcedureName.p-Unicode, PBProcedureHandle, PID, ErrorOutput) Global BindWebGadgetExJavaScript.BindWebGadgetExJavaScript = GetFunction(PBEx_WebGadget, "BindWebGadgetExJavaScript") Prototype GetWebGadgetExAttribute(ID, Attribute, ErrorOutput) Global GetWebGadgetExAttribute.GetWebGadgetExAttribute = GetFunction(PBEx_WebGadget, "GetWebGadgetExAttribute") Prototype SetWebGadgetExAttribute(ID, Attribute, Value, ErrorOutput) Global SetWebGadgetExAttribute.SetWebGadgetExAttribute = GetFunction(PBEx_WebGadget, "SetWebGadgetExAttribute") Prototype EnableRemoteDebugger(Port, ErrorOutput) Global EnableRemoteDebugger.EnableRemoteDebugger = GetFunction(PBEx_WebGadget, "EnableRemoteDebugger") Prototype SetWebGadgetExSetUserAgent(UserAgent.p-Unicode, ErrorOutput) Global SetWebGadgetExSetUserAgent.SetWebGadgetExSetUserAgent = GetFunction(PBEx_WebGadget, "SetWebGadgetExSetUserAgent") Prototype SetWebGadgetExProxy(Proxy.p-Unicode, ErrorOutput) Global SetWebGadgetExProxy.SetWebGadgetExProxy = GetFunction(PBEx_WebGadget, "SetWebGadgetExProxy") EndIf Define Output$ = Space(1000000) Define ErrorOutput$ = Space(128) Define IsDevTools = #True Procedure MyJSCallback(aaa) Debug "This procedure was executed from Javascript: " + PeekS(aaa) EndProcedure If OpenWindow(0, 0, 0, 1500, 1000, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) ;SetWebGadgetExSetUserAgent("PureBasic Bot", @ErrorOutput$) ;SetWebGadgetExProxy("108.61.86.187:8080", @ErrorOutput$);https://www.proxy-list.download/HTTPS WebGadgetEx(1, 0, DesktopScaledY(60), DesktopScaledX(1500), DesktopScaledY(1000-60), "https://www.rsbasic.de", WindowID(0), @ErrorOutput$) ;WebGadgetEx(1, 0, DesktopScaledY(60), DesktopScaledX(1500), DesktopScaledY(1000-60), "https://www.whatismybrowser.com/detect/what-is-my-user-agent", WindowID(0), @ErrorOutput$) ;WebGadgetEx(1, 0, DesktopScaledY(60), DesktopScaledX(1500), DesktopScaledY(1000-60), "https://www.google.com", WindowID(0), @ErrorOutput$) ButtonGadget(2, 0, 0, 70, 30, "Back", 0) ButtonGadget(3, 70, 0, 70, 30, "Forward", 0) ButtonGadget(4, 140, 0, 70, 30, "Reload", 0) ButtonGadget(5, 210, 0, 70, 30, "Stop", 0) ButtonGadget(6, 280, 0, 70, 30, "Google", 0) ButtonGadget(7, 350, 0, 70, 30, "Own HTML", 0) ButtonGadget(8, 420, 0, 70, 30, "Get HTML", 0) ButtonGadget(10, 490, 0, 70, 30, "Get URL", 0) ButtonGadget(11, 560, 0, 150, 30, "Get size && position", 0) ButtonGadget(12, 710, 0, 70, 30, "Get ID", 0) ButtonGadget(13, 780, 0, 70, 30, "Hide", 0) ButtonGadget(14, 850, 0, 70, 30, "Show", 0) ButtonGadget(15, 920, 0, 70, 30, "Size", 0) ButtonGadget(16, 990, 0, 150, 30, "Show/Hide DevT.", 0) ButtonGadget(17, 1140, 0, 70, 30, "Execute JS", 0) ButtonGadget(18, 1210, 0, 70, 30, "BindProc", 0) ButtonGadget(19, 1280, 0, 70, 30, "CallProc", 0) ButtonGadget(20, 1350, 0, 70, 30, "IsBusy?", 0) ButtonGadget(21, 1420, 0, 70, 30, "GetZoom", 0) ButtonGadget(22, 0, 30, 70, 30, "Zoom=200", 0) ButtonGadget(23, 70, 30, 70, 30, "StatusCode?", 0) ButtonGadget(24, 140, 30, 100, 30, "Get selected Text", 0) ButtonGadget(25, 240, 30, 70, 30, "Get all Text", 0) ButtonGadget(26, 310, 30, 70, 30, "Select all", 0) ButtonGadget(27, 380, 30, 70, 30, "Print", 0) SetWebGadgetExAttribute(1, #PB_Web_EnableDrop, 0, @ErrorOutput$) Repeat Select WaitWindowEvent() Case #PB_Event_Gadget Select EventGadget() Case 2 SetWebGadgetExState(1, #PB_Web_Back, @ErrorOutput$) Case 3 SetWebGadgetExState(1, #PB_Web_Forward, @ErrorOutput$) Case 4 SetWebGadgetExState(1, #PB_Web_Refresh, @ErrorOutput$) Case 5 SetWebGadgetExState(1, #PB_Web_Stop, @ErrorOutput$) Case 6 SetWebGadgetExText(1, "https://www.google.de", @ErrorOutput$) Case 7 SetWebGadgetExItemText(1, #PB_Web_HtmlCode, "<html><head></head><body><h1>Hello PureBasic Friends!</h1></body></html>", @ErrorOutput$) Case 8 GetWebGadgetExItemText(1, #PB_Web_HtmlCode, @Output$, @ErrorOutput$) Debug Output$ Case 10 GetWebGadgetExText(1, @Output$, @ErrorOutput$) Debug Output$ Case 11 Debug WebGadgetExWidth(1, @ErrorOutput$) Debug WebGadgetExHeight(1, @ErrorOutput$) Debug WebGadgetExX(1, @ErrorOutput$) Debug WebGadgetExY(1, @ErrorOutput$) Case 12 Debug WebGadgetExID(1, @ErrorOutput$) Case 13 HideWebGadgetEx(1, 1, @ErrorOutput$) Case 14 HideWebGadgetEx(1, 0, @ErrorOutput$) Case 15 ResizeWebGadgetEx(1, 100, 50, 200, 400, @ErrorOutput$) Case 16 IsDevTools ! #True HideWebGadgetExDevTools(1, IsDevTools, @ErrorOutput$) Case 17 ExecuteWebGadgetExJavaScript(1, "document.body.style.backgroundColor = " + Chr(34) + "#ff0000" + Chr(34), @Output$, @ErrorOutput$) ExecuteWebGadgetExJavaScript(1, "document.body.offsetHeight;", @Output$, @ErrorOutput$) Debug Output$ ;If you want to run modal dialogs like Alert(), please set the parameter "Output" to 0. ExecuteWebGadgetExJavaScript(1, "alert('Hello');", 0, @ErrorOutput$) Case 18 BindWebGadgetExJavaScript(1, "MyJSCallback", @MyJSCallback(), GetCurrentProcessId_(), @ErrorOutput$) Case 19 ExecuteWebGadgetExJavaScript(1, "(async function() { await CefSharp.BindObjectAsync('PBProcedure'); PBProcedure.call('MyJSCallback', 'Hello PureBasic'); })();", @Output$, @ErrorOutput$) Case 20 Debug GetWebGadgetExAttribute(1, #PB_Web_Busy, @ErrorOutput$) Case 21 Debug GetWebGadgetExAttribute(1, #PB_Web_Zoom, @ErrorOutput$) Case 22 SetWebGadgetExAttribute(1, #PB_Web_Zoom, 200, @ErrorOutput$) Case 23 Debug GetWebGadgetExAttribute(1, #PB_Web_StatusCode, @ErrorOutput$) ;Some status codes: ;0 = No error ;105 = Website not found ;3 = Load aborted ;118 = Timeout ;-All status codes here: https://cefsharp.github.io/api/63.0.0/html/T_CefSharp_CefErrorCode.htm Case 24 GetWebGadgetExItemText(1, #PB_Web_SelectedText, @Output$, @ErrorOutput$) Debug Output$ Case 25 GetWebGadgetExItemText(1, #PB_Web_AllText, @Output$, @ErrorOutput$) Debug Output$ Case 26 SetWebGadgetExState(1, #PB_Web_SelectAll, @ErrorOutput$) Case 27 SetWebGadgetExState(1, #PB_Web_Print, @ErrorOutput$) EndSelect Case #PB_Event_CloseWindow CloseLibrary(PBEx_WebGadget) End EndSelect ForEver EndIf
- Syntax:
- SetWebGadgetExText()
- Syntax:
Code: Alles auswählen
Result = SetWebGadgetExText(ID, URL$, @ErrorOutput$)
- Beschreibung: Die Adresse der Website, die geöffnet werden soll.
- Parameter:
- ID: Die Nummer des erstellten Gadgets.
- URL$: Die Adresse der Website, die geöffnet werden soll.
- @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
- Rückgabewert:
- 1: Der Vorgang war erfolgreich.
- Syntax:
- GetWebGadgetExText()
- Syntax:
Code: Alles auswählen
Result = GetWebGadgetExText(ID, @Output$, @ErrorOutput$)
- Beschreibung: Ermittelt die aktuelle Adresse der aufgerufenen Website.
- Parameter:
- ID: Die Nummer des erstellten Gadgets.
- @Output$: Die Adresse der Website wird in diese Variable gespeichert.
- @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
- Rückgabewert:
- 1: Der Vorgang war erfolgreich.
- Syntax:
- SetWebGadgetExState()
- Syntax:
Code: Alles auswählen
Result = SetWebGadgetExState(ID, State, @ErrorOutput$)
- Beschreibung: Führt eine Aktion aus.
- Parameter:
- ID: Die Nummer des erstellten Gadgets.
- State: Eine der folgenden Aktionen kann verwendet werden:
- #PB_Web_Back: Ein Schritt zurück in der Navigations-Historie.
- #PB_Web_Forward: Ein Schritt vorwärts in der Navigations-Historie.
- #PB_Web_Refresh: Seite neu laden.
- #PB_Web_Stop: Vorgang einer Seite, die noch geladen wird, abbrechen.
- #PB_Web_SelectAll: Markiert alles.
- #PB_Web_Print: Druckt die Seite.
- @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
- Rückgabewert:
- 1: Der Vorgang war erfolgreich.
- Syntax:
- SetWebGadgetExItemText()
- Syntax:
Code: Alles auswählen
Result = SetWebGadgetExItemText(ID, Entry, Text$, @ErrorOutput$)
- Beschreibung: Führt eine Aktion aus.
- Parameter:
- ID: Die Nummer des erstellten Gadgets.
- Entry: Eine der folgenden Aktionen kann verwendet werden:
- #PB_Web_HtmlCode: Ändert den Seiten-Quelltext.
- Text$: Der Wert für die Aktion.
- @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
- Rückgabewert:
- 1: Der Vorgang war erfolgreich.
- Syntax:
- GetWebGadgetExItemText()
- Syntax:
Code: Alles auswählen
Result = GetWebGadgetExItemText(ID, Entry, @Output, @ErrorOutput$)
- Beschreibung: Führt eine Aktion aus.
- Parameter:
- ID: Die Nummer des erstellten Gadgets.
- Entry: Eine der folgenden Aktionen kann verwendet werden:
- #PB_Web_HtmlCode: Ermittelt den Seiten-Quelltext.
- #PB_Web_SelectedText: Ermittelt den markierten Text.
- #PB_Web_AllText: Ermittelt den gesamten Text.
- @Output: Der Wert der Aktion wird in die Variable gespeichert.
- @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
- Rückgabewert:
- 1: Der Vorgang war erfolgreich.
- Syntax:
- FreeWebGadgetEx()
- Syntax:
Code: Alles auswählen
Result = FreeWebGadgetEx(ID, @ErrorOutput$)
- Beschreibung: Gibt das Gadget frei.
- Parameter:
- ID: Die Nummer des erstellten Gadgets.
- @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
- Rückgabewert:
- 1: Der Vorgang war erfolgreich.
- Syntax:
- IsWebGadgetEx()
- Syntax:
Code: Alles auswählen
Result = IsWebGadgetEx(ID, @ErrorOutput$)
- Beschreibung: Überprüft, ob das Gadget noch gültig ist.
- Parameter:
- ID: Die Nummer des erstellten Gadgets.
- @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
- Rückgabewert:
- 1: Das Gadget ist gültig.
- Syntax:
- WebGadgetExWidth()
- Syntax:
Code: Alles auswählen
Result = WebGadgetExWidth(ID, @ErrorOutput$)
- Beschreibung: Ermittelt die Breite des Gadgets.
- Parameter:
- ID: Die Nummer des erstellten Gadgets.
- @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
- Rückgabewert: Die Breite des Gadgets.
- Syntax:
- WebGadgetExHeight()
- Syntax:
Code: Alles auswählen
Result = WebGadgetExHeight(ID, @ErrorOutput$)
- Beschreibung: Ermittelt die Höhe des Gadgets.
- Parameter:
- ID: Die Nummer des erstellten Gadgets.
- @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
- Rückgabewert: Die Höhe des Gadgets.
- Syntax:
- WebGadgetExX()
- Syntax:
Code: Alles auswählen
Result = WebGadgetExX(ID, @ErrorOutput$)
- Beschreibung: Ermittelt die Position des Gadgets.
- Parameter:
- ID: Die Nummer des erstellten Gadgets.
- @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
- Rückgabewert: Die Position des Gadgets.
- Syntax:
- WebGadgetExY()
- Syntax:
Code: Alles auswählen
Result = WebGadgetExY(ID, @ErrorOutput$)
- Beschreibung: Ermittelt die Position des Gadgets.
- Parameter:
- ID: Die Nummer des erstellten Gadgets.
- @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
- Rückgabewert: Die Position des Gadgets.
- Syntax:
- WebGadgetExID()
- Syntax:
Code: Alles auswählen
Result = WebGadgetExID(ID, @ErrorOutput$)
- Beschreibung: Ermittelt die Handle-Nummer des erstellten Gadgets. Die Handle-Nummer kann für WinAPI verwendet werden.
- Parameter:
- ID: Die Nummer des erstellten Gadgets.
- @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
- Rückgabewert: Die Handle-Nummer des Gadgets.
- Syntax:
- HideWebGadgetEx()
- Syntax:
Code: Alles auswählen
Result = HideWebGadgetEx(ID, State, @ErrorOutput$)
- Beschreibung: Versteckt oder zeigt das Gadget an.
- Parameter:
- ID: Die Nummer des erstellten Gadgets.
- State:
- 0: Gadget anzeigen.
- 1: Gadget verstecken.
- @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
- Rückgabewert:
- 1: Der Vorgang war erfolgreich.
- Syntax:
- ResizeWebGadgetEx()
- Syntax:
Code: Alles auswählen
Result = ResizeWebGadgetEx(ID, X, Y, Width, Height, @ErrorOutput$)
- Beschreibung: Ändert die Position und Größe des Gadgets.
- Parameter:
- ID: Die Nummer des erstellten Gadgets.
- X: Die Position des Gadgets ändern. #PB_Ignore kann verwendet werden, um den Parameter zu ignorieren.
- Y: Die Position des Gadgets ändern. #PB_Ignore kann verwendet werden, um den Parameter zu ignorieren.
- Width: Die Breite des Gadgets ändern. #PB_Ignore kann verwendet werden, um den Parameter zu ignorieren.
- height: Die Höhe des Gadgets ändern. #PB_Ignore kann verwendet werden, um den Parameter zu ignorieren.
- @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
- Rückgabewert:
- 1: Der Vorgang war erfolgreich.
- Syntax:
- HideWebGadgetExDevTools()
- Syntax:
Code: Alles auswählen
Result = HideWebGadgetExDevTools(ID, State, @ErrorOutput$)
- Beschreibung: Versteckt oder zeigt die Entwicklungsumgebung an. Damit kann der Quelltext analysiert werden.
- Parameter:
- ID: Die Nummer des erstellten Gadgets.
- State:
- 0: Anzeigen
- 1: Verstecken
- @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
- Rückgabewert:
- 1: Der Vorgang war erfolgreich.
- Syntax:
- ExecuteWebGadgetExJavaScript()
- Syntax:
Code: Alles auswählen
Result = ExecuteWebGadgetExJavaScript(ID, Code$, @Output$, @ErrorOutput$)
- Beschreibung: Führt einen beliebigen Javascript-Code aus. Hinweis: Wenn man modale Dialoge wie Alert() ausführen möchte, dann muss der Parameter "Output" auf 0 gesetzt werden.
- Parameter:
- ID: Die Nummer des erstellten Gadgets.
- Code$: Javascript-Code, der ausgeführt werden soll.
- @Output$: Falls eine Javascript-Funktion einen Rückgabewert besitzt, dann wird dieser in diese Variable gespeichert. Falls im Javascript-Code ein Fehler existiert, dann wird der Javascript-Fehler in diese Variable gespeichert.
- @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
- Rückgabewert:
- 1: Der Vorgang war erfolgreich.
- Syntax:
- BindWebGadgetExJavaScript()
- Syntax:
Code: Alles auswählen
Result = BindWebGadgetExJavaScript(ID, PBProcedureName$, PBProcedureHandle, PID, @ErrorOutput$)
- Beschreibung: Erstellt eine Verknüpfung zwischen PB-Prozedur und Javascript. Damit ist es möglich, aus Javascript eine PB-Prozedur inkl. Parameterübergebe auszuführen.
- Parameter:
- ID: Die Nummer des erstellten Gadgets.
- PBProcedureName$: Der Name der auszuführende Prozedur.
- PBProcedureHandle: Die Handle-Nummer der auszuführende Prozedur.
- PID: Die PID-Nummer des eigenen Programms.
- @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
- Rückgabewert:
- 1: Der Vorgang war erfolgreich.
- Syntax:
- GetWebGadgetExAttribute()
- Syntax:
Code: Alles auswählen
Result = GetWebGadgetExAttribute(ID, Attribute, @ErrorOutput$)
- Beschreibung: Ermittelt mit Hilfe des angegebenen Attributs den Wert.
- Parameter:
- ID: Die Nummer des erstellten Gadgets.
- Attribute: Eine der folgenden Attribute kann verwendet werden:
- #PB_Web_Busy: Überprüft, ob die Seite noch lädt.
- #PB_Web_Zoom: Ermittelt den Zoom-Wert in Prozent.
- #PB_Web_StatusCode: Ermittelt den Statuscode nach dem Laden der Seite, z.B. Website nicht gefunden oder Timeout.
- @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
- Rückgabewert: Wert mit Hilfe des angegebenen Attributs.
- Syntax:
- SetWebGadgetExAttribute()
- Syntax:
Code: Alles auswählen
Result = SetWebGadgetExAttribute(ID, Attribute, Value, @ErrorOutput$)
- Beschreibung: Ändert mit Hilfe des angegebenen Attributs den Wert.
- Parameter:
- ID: Die Nummer des erstellten Gadgets.
- Attribute: Eine der folgenden Attribute kann verwendet werden:
- #PB_Web_Zoom: Ändert den Zoom-Wert in Prozent.
- #PB_Web_BlockPopupMenu: Aktiviert oder deaktiviert das Kontextmenü.
- #PB_Web_EnableDrop: Aktiviert oder deaktiviert die Drop-Funktion.
- @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
- Rückgabewert:
- 1: Der Vorgang war erfolgreich.
- Syntax:
- EnableRemoteDebugger()
- Syntax:
Code: Alles auswählen
Result = EnableRemoteDebugger(Port, @ErrorOutput$)
- Beschreibung: Damit kann man die geöffnete Seite auf einem anderen Port mit DevTools debuggen. Es kann nur einmalig pro Prozess vor der Gadgeterstellung aktiviert und verwendet werden. Beispiel-Adresse für Port 8088: http://localhost:8088/
- Parameter:
- Port: Portnummer für das Debuggen einer geöffneten Seite. Die Portnummer muss zwischen 1024 und 65535 liegen.
- @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
- Rückgabewert:
- 1: Der Vorgang war erfolgreich.
- Syntax:
- SetWebGadgetExSetUserAgent()
- Syntax:
Code: Alles auswählen
Result = SetWebGadgetExSetUserAgent(UserAgent$, @ErrorOutput$)
- Beschreibung: Ändert den UserAgent-String für das WebGadget. Es kann nur einmalig pro Prozess vor der Gadgeterstellung festgelegt werden.
- Parameter:
- UserAgent$: UserAgent
- @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
- Rückgabewert:
- 1: Der Vorgang war erfolgreich.
- Syntax:
- SetWebGadgetExProxy()
- Syntax:
Code: Alles auswählen
Result = SetWebGadgetExProxy(Proxy$, @ErrorOutput$)
- Beschreibung: Ändert den Proxy-Server für das WebGadget. Es kann nur einmalig pro Prozess vor der Gadgeterstellung festgelegt werden.
- Parameter:
- Proxy$: Adresse und Port-Nummer des Proxy-Servers.
- @ErrorOutput$: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
- Rückgabewert:
- 1: Der Vorgang war erfolgreich.
- Syntax:
- .NET Framework 4.7.2 oder höher
- Unicode-Aktivierung (standardmäßig ab PB 5.50)
Die Komponente ist kostenlos und darf sowohl privat als auch kommerziell verwendet werden.
Folgende Copyright-Texte müssen mitgeliefert werden:
Das Framework CEF (Chromium Embedded Framework) wird auch in vielen anderen Produkten verwendet. Z.B.: GTA Online, Minecraft, Unity3D, Unreal Engine, Amazon Music, Facebook Messenger, ...Copyright © The CefSharp Authors. All rights reserved.
Copyright 2015 The Chromium Authors. All rights reserved.
Copyright © 2019 RSBasic.de
Download: https://www.rsbasic.de/downloads/downlo ... Gadget.zip
Ich würde mich über Feedbacks, Verbesserungsvorschläge, Fehlermeldungen oder Wünsche sehr freuen. Wer mich unterstützen möchte, kann mir auch was kleines spenden. Danke
PS: Es ist in der ersten Version noch ein kleiner Fehler drin, der nur manchmal auftritt und zwar kann es passieren, dass die Position und Größe des Gadgets nicht stimmen. Wenn der Fehler bei euch auch auftritt, bitte Bescheid sagen.