PB.Ex WebGadget (Windows) (WebKit)

Applications, Games, Tools, User libs and useful stuff coded in PureBasic
Bitblazer
Enthusiast
Enthusiast
Posts: 736
Joined: Mon Apr 10, 2017 6:17 pm
Location: Germany
Contact:

Re: PB.Ex WebGadget (Windows) (WebKit)

Post by Bitblazer »

jacdelad wrote: Mon Sep 06, 2021 2:49 pm Who decides which project gets the bounty?
people offered the bounty to anybody who did a specific addition to a specific project. For example :
  • 40$ if you add a CSV exporter to thomas listicon gadget
  • 20$ if you add color support to thomas editor module
  • 80$ if you add truescript support to thomas editor module
People could claim a task - that would lock the specific task to others for a few weeks. If they achieved the goal before the end of that lock time, a moderator would pass them the bounty after evaluating the solution. Then the solution would be integrated into the source and the source would get updated (in case of a gpl or open source project) and everybody else would also benefit from it.

If the person could not deliver a solution that a moderator accepts within that time, the bounty and task would be unlocked for others to accept the task and earn the reward.

The people who offer a bounty, would pass a trusted moderator the reward fee. If it gets done, the bounty is passed along. Otherwise it is passed back after half a year or never - dunno.

Examples for bounties
User avatar
RSBasic
Moderator
Moderator
Posts: 1218
Joined: Thu Dec 31, 2009 11:05 pm
Location: Gernsbach (Germany)
Contact:

Re: PB.Ex WebGadget (Windows) (WebKit)

Post by RSBasic »

PB.Ex WebGadget 1.1.2.0 has been released.

Changelog:
  • Updated: Chromium Version 99
Image
Image
zikitrake
Addict
Addict
Posts: 834
Joined: Thu Mar 25, 2004 2:15 pm
Location: Spain

Re: PB.Ex WebGadget (Windows) (WebKit)

Post by zikitrake »

RSBasic wrote: Thu Mar 10, 2022 7:49 pm PB.Ex WebGadget 1.1.2.0 has been released.

Changelog:
  • Updated: Chromium Version 99
Thank you, thank you, thank you!

Thanks a million times over!
dagcrack
Addict
Addict
Posts: 1868
Joined: Sun Mar 07, 2004 8:47 am
Location: Argentina
Contact:

Re: PB.Ex WebGadget (Windows) (WebKit)

Post by dagcrack »

The bounty idea could be a great motivational tool is there an existing php backend to run this or will it have to be programmed from scratch? (or maybe a phpBB plugin already exists?).

Hosting on the file is rather slow let me know if you want me to mirror the file.
! Black holes are where God divided by zero !
My little blog!
(Not for the faint hearted!)
Fredi
Enthusiast
Enthusiast
Posts: 143
Joined: Wed Jul 23, 2008 10:45 pm

Re: PB.Ex WebGadget (Windows) (WebKit)

Post by Fredi »

Thank you so much RSBasic for WebGadgetEx.
You helped me a lot when no code worked for me and my webpage except this one.
Many thanks again.
User avatar
RSBasic
Moderator
Moderator
Posts: 1218
Joined: Thu Dec 31, 2009 11:05 pm
Location: Gernsbach (Germany)
Contact:

Re: PB.Ex WebGadget (Windows) (WebKit)

Post by RSBasic »

fluent wrote: Wed May 05, 2021 2:33 pmSadly this project appears to be abandonware - I wouldn't spend time trying to make it work.
I'm sorry. There were several reasons why I didn't have the time or desire. (700 km/435 miles move, new job, Corona, my father got dementia, father died and much more...)
But now I'm back. :)
I am currently in the process of creating my Kanban board and implementing all open feature and improvement suggestions.
Image
Image
User avatar
Caronte3D
Addict
Addict
Posts: 1047
Joined: Fri Jan 22, 2016 5:33 pm
Location: Some Universe

Re: PB.Ex WebGadget (Windows) (WebKit)

Post by Caronte3D »

RSBasic wrote: Sat Aug 26, 2023 3:23 pm But now I'm back. :)
Welcome back! It's a pleasure to see a guru like you around here again. :wink:
User avatar
RSBasic
Moderator
Moderator
Posts: 1218
Joined: Thu Dec 31, 2009 11:05 pm
Location: Gernsbach (Germany)
Contact:

Re: PB.Ex WebGadget (Windows) (WebKit)

Post by RSBasic »

PB.Ex WebGadget 1.1.3.0 has been released.

Changelog:
  • Updated: .NET Framework 4.5.2 > .NET Framework 4.7.2
  • Updated: Chromium 99 > Chromium 116.0.5845.97
Image
Image
User avatar
RSBasic
Moderator
Moderator
Posts: 1218
Joined: Thu Dec 31, 2009 11:05 pm
Location: Gernsbach (Germany)
Contact:

Re: PB.Ex WebGadget (Windows) (WebKit)

Post by RSBasic »

zikitrake wrote: Sat Sep 07, 2019 10:13 am Mr. Applicant, with a new request

Would it be possible to reassign a new proxy to an existing WebGadgetEx, when one has already been assigned previously?

Again, thank you for this lib


Edited and added :)

What is wrong in this code?
  1. Start a WebGadgetEx with a proxy.
  2. I release the Gadget and close the library.
  3. I open the library again and assign a new proxy before creating a new gadget.
But it continues to maintain the first proxy I assigned in step 1.

Code: Select all

EnableExplicit

Global PBEx_WebGadget
Global MyWebG.l

Prototype WebGadgetEx(ID, X, Y, Width, Height, URL.p-Unicode, ParentWindowID, ErrorOutput)
Prototype SetWebGadgetExText(ID, URL.p-Unicode, ErrorOutput)
Prototype GetWebGadgetExText(ID, Output, ErrorOutput)
Prototype SetWebGadgetExState(ID, State, ErrorOutput)
Prototype SetWebGadgetExItemText(ID, Entry, Text.p-Unicode, ErrorOutput)
Prototype GetWebGadgetExItemText(ID, Entry, Output, ErrorOutput)
Prototype FreeWebGadgetEx(ID, ErrorOutput)
Prototype IsWebGadgetEx(ID, ErrorOutput)
Prototype WebGadgetExWidth(ID, ErrorOutput)
Prototype WebGadgetExHeight(ID, ErrorOutput)
Prototype WebGadgetExX(ID, ErrorOutput)
Prototype WebGadgetExY(ID, ErrorOutput)
Prototype WebGadgetExID(ID, ErrorOutput)
Prototype HideWebGadgetEx(ID, State, ErrorOutput)
Prototype ResizeWebGadgetEx(ID, X, Y, Width, Height, ErrorOutput)
Prototype HideWebGadgetExDevTools(ID, State, ErrorOutput)  
Prototype ExecuteWebGadgetExJavaScript(ID, Code.p-Unicode, Output, ErrorOutput)
Prototype BindWebGadgetExJavaScript(ID, PBProcedureName.p-Unicode, PBProcedureHandle, PID, ErrorOutput)
Prototype GetWebGadgetExAttribute(ID, Attribute, ErrorOutput)
Prototype SetWebGadgetExAttribute(ID, Attribute, Value, ErrorOutput)
Prototype EnableRemoteDebugger(Port, ErrorOutput)
Prototype SetWebGadgetExSetUserAgent(UserAgent.p-Unicode, ErrorOutput)
Prototype SetWebGadgetExProxy(Proxy.p-Unicode, ErrorOutput)

Procedure.l PBEx_WebGadget_Init(id.l = -1)
  Protected ReturnID.l
  CompilerIf #PB_Compiler_Processor = #PB_Processor_x86
    If id = -1 
      ReturnID = OpenLibrary(#PB_Any, "PB.Ex_WebGadget_x86.dll")
    Else
      OpenLibrary(id, "PB.Ex_WebGadget_x86.dll")
      ReturnID = id
    EndIf   
  CompilerElseIf #PB_Compiler_Processor = #PB_Processor_x64
    If id = -1 
      ReturnID = OpenLibrary(#PB_Any, "PB.Ex_WebGadget_x64.dll")      
    Else
      OpenLibrary(id, "PB.Ex_WebGadget_x64.dll")
      ReturnID = id
    EndIf    
  CompilerEndIf
  
  If ReturnID
    Debug "lib ok"    
    Global WebGadgetEx.WebGadgetEx = GetFunction(ReturnID, "WebGadgetEx")
    Global SetWebGadgetExText.SetWebGadgetExText = GetFunction(ReturnID, "SetWebGadgetExText")
    Global GetWebGadgetExText.GetWebGadgetExText = GetFunction(ReturnID, "GetWebGadgetExText")
    Global SetWebGadgetExState.SetWebGadgetExState = GetFunction(ReturnID, "SetWebGadgetExState")
    Global SetWebGadgetExItemText.SetWebGadgetExItemText = GetFunction(ReturnID, "SetWebGadgetExItemText")
    Global GetWebGadgetExItemText.GetWebGadgetExItemText = GetFunction(ReturnID, "GetWebGadgetExItemText")
    Global FreeWebGadgetEx.FreeWebGadgetEx = GetFunction(ReturnID, "FreeWebGadgetEx")
    Global IsWebGadgetEx.IsWebGadgetEx = GetFunction(ReturnID, "IsWebGadgetEx")
    Global WebGadgetExWidth.WebGadgetExWidth = GetFunction(ReturnID, "WebGadgetExWidth")
    Global WebGadgetExHeight.WebGadgetExHeight = GetFunction(ReturnID, "WebGadgetExHeight")
    Global WebGadgetExX.WebGadgetExX = GetFunction(ReturnID, "WebGadgetExX")
    Global WebGadgetExY.WebGadgetExY = GetFunction(ReturnID, "WebGadgetExY")
    Global WebGadgetExID.WebGadgetExID = GetFunction(ReturnID, "WebGadgetExID")
    Global HideWebGadgetEx.HideWebGadgetEx = GetFunction(ReturnID, "HideWebGadgetEx")
    Global ResizeWebGadgetEx.ResizeWebGadgetEx = GetFunction(ReturnID, "ResizeWebGadgetEx")
    Global HideWebGadgetExDevTools.HideWebGadgetExDevTools = GetFunction(ReturnID, "HideWebGadgetExDevTools")
    Global ExecuteWebGadgetExJavaScript.ExecuteWebGadgetExJavaScript = GetFunction(ReturnID, "ExecuteWebGadgetExJavaScript")
    Global BindWebGadgetExJavaScript.BindWebGadgetExJavaScript = GetFunction(ReturnID, "BindWebGadgetExJavaScript")
    Global GetWebGadgetExAttribute.GetWebGadgetExAttribute = GetFunction(ReturnID, "GetWebGadgetExAttribute")
    Global SetWebGadgetExAttribute.SetWebGadgetExAttribute = GetFunction(ReturnID, "SetWebGadgetExAttribute")
    Global EnableRemoteDebugger.EnableRemoteDebugger = GetFunction(ReturnID, "EnableRemoteDebugger")
    Global SetWebGadgetExSetUserAgent.SetWebGadgetExSetUserAgent = GetFunction(ReturnID, "SetWebGadgetExSetUserAgent")
    Global SetWebGadgetExProxy.SetWebGadgetExProxy = GetFunction(ReturnID, "SetWebGadgetExProxy")
  Else
    ReturnID = 0
    Debug "lib fail"
    End    
  EndIf
  
  ProcedureReturn ReturnID
  
EndProcedure

Define ErrorOutput$ = Space(128)
PBEx_WebGadget = PBEx_WebGadget_Init()


OpenWindow(0, 0, 0, 1200, 768, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
SetWebGadgetExProxy("104.236.248.219:3128", @ErrorOutput$);https://www.proxy-list.download/HTTPS
MyWebG = WebGadgetEx(#PB_Any, 0, 20, 1200, 748, "https://www.myip.com/", WindowID(0), @ErrorOutput$)

While GetWebGadgetExAttribute(MyWebG, #PB_Web_Busy, @ErrorOutput$)
  WindowEvent()
Wend

FreeWebGadgetEx(MyWebG, @ErrorOutput$)  
CloseLibrary(PBEx_WebGadget)

;Open a New WebGadgetEx with a New Proxy

PBEx_WebGadget = PBEx_WebGadget_Init()

SetWebGadgetExProxy("116.203.127.92:3128", @ErrorOutput$);https://www.proxy-list.download/HTTPS
UseGadgetList(WindowID(0))
MyWebG = WebGadgetEx(#PB_Any, 0, 20, 1200, 748, "https://www.myip.com/", WindowID(0), @ErrorOutput$)

While GetWebGadgetExAttribute(MyWebG, #PB_Web_Busy, @ErrorOutput$)
  WindowEvent()
Wend

Repeat
Until WindowEvent() = #PB_Event_CloseWindow
CloseLibrary(PBEx_WebGadget)
[/size]
No, unfortunately that is not possible:
CefSharpSettings.Proxy Property wrote:NOTE: It isn't possble to change the proxy after the call to Cef.Initialize
Image
Image
User avatar
RSBasic
Moderator
Moderator
Posts: 1218
Joined: Thu Dec 31, 2009 11:05 pm
Location: Gernsbach (Germany)
Contact:

Re: PB.Ex WebGadget (Windows) (WebKit)

Post by RSBasic »

Mike Yurgalavage wrote: Sun Feb 23, 2020 6:41 pm Using actual chrome browser, going to this page:

http://www.html5videoplayer.net/html5vi ... ideo-test/

You can play the video.

Using that link from within the .pb test program the video cannot be played.

https://html5test.com/

from within the .pb test program, says

H.264 support - NO

But within Chrome browser says

H.264 support - YES
This is not possible because H.264 is commercial and I would have to pay license fees for it.
Image
Image
User avatar
RSBasic
Moderator
Moderator
Posts: 1218
Joined: Thu Dec 31, 2009 11:05 pm
Location: Gernsbach (Germany)
Contact:

Re: PB.Ex WebGadget (Windows) (WebKit)

Post by RSBasic »

PB.Ex WebGadget 1.1.4.0 has been released.

Changelog:
  • Added: SetWebGadgetExAttribute(): #PB_Web_EnableDrop
  • Added: GetWebGadgetExAttribute(): #PB_Web_StatusCode
zikitrake wrote: Mon Sep 23, 2019 10:01 am Hi RSBasic,

Is it normal that SetWebGadgetExText() always returns 1, even if the internet connection is interrupted?
Yes it is normal The value "1" only means that no exception/error has occurred.
I added #PB_Web_StatusCode to GetWebGadgetExAttribute() function. You can use this to determine the status, e.g. website not found or timeout.
Image
Image
User avatar
Kwai chang caine
Always Here
Always Here
Posts: 5346
Joined: Sun Nov 05, 2006 11:42 pm
Location: Lyon - France

Re: PB.Ex WebGadget (Windows) (WebKit)

Post by Kwai chang caine »

I don't know why, but i never really see and try your jewel of code, especially that all this style of subject fascinate me :oops:

Perhaps because there are several projects of browsers alternative in this forum and i never see this style of functions inside them :cry:
Never i believe this magical function (between others :wink:) exist in your project :shock:

Code: Select all

ExecuteWebGadgetExJavaScript()
And today, like this, i run your magical code and see the amazing button "Execute JS" and i not believe my eyes :shock:
And for the moment...that's works very well because i can, in only one click, keep all the text of the page with "Document.getElementsByTagName('html')[0].textContent"

Furthermore, i not need to install something, no big library, no framework...just run your code, and see :D
It's a pity only Chrome do this, and not FF :|
But it's when even a big step for me, in the Automation of WebBrowser, since the OLE of IE, there are too much numerous years :|

One thousand of thanks for create and sharing this merveillous works 8)
ImageThe happiness is a road...
Not a destination
Fredi
Enthusiast
Enthusiast
Posts: 143
Joined: Wed Jul 23, 2008 10:45 pm

Re: PB.Ex WebGadget (Windows) (WebKit)

Post by Fredi »

RSBasic wrote: Sun Aug 27, 2023 4:37 pm PB.Ex WebGadget 1.1.4.0 has been released.
Many thanks for update.

Question: Is there a way to keep visited websites cookie!?

Suggestion: One function to keep Cookies of visited web, OR two function like SaveWebGadgetExCookie() and LoadWebGadgetExCookie()
User avatar
RSBasic
Moderator
Moderator
Posts: 1218
Joined: Thu Dec 31, 2009 11:05 pm
Location: Gernsbach (Germany)
Contact:

Re: PB.Ex WebGadget (Windows) (WebKit)

Post by RSBasic »

Kwai chang caine wrote: Tue Aug 29, 2023 1:16 pm One thousand of thanks for create and sharing this merveillous works 8)
Thank you very much for your feedback. :)
Fredi wrote: Wed Sep 06, 2023 10:07 am Question: Is there a way to keep visited websites cookie!?

Suggestion: One function to keep Cookies of visited web, OR two function like SaveWebGadgetExCookie() and LoadWebGadgetExCookie()
I'll check this.
Image
Image
zikitrake
Addict
Addict
Posts: 834
Joined: Thu Mar 25, 2004 2:15 pm
Location: Spain

Re: PB.Ex WebGadget (Windows) (WebKit)

Post by zikitrake »

RSBasic wrote: I'm sorry. There were several reasons...
Hello, RSBasic,

I'm so sorry to hear about your father; mine also passed away in July this year and it's a very hard thing to bear.

On the other hand, I'm really glad to see you back in these parts and to see that you're back in the mood to update your fantastic projects :)

A big hug!
Post Reply