Jump to content

WebView2AutoIt - AutoIt WebView2 Component (COM Interop)


Recommended Posts

Posted (edited)

Added this UDF to the wiki :) 

Edited by water

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Posted (edited)

Hello, how can I extract the HTML source code from the right frame when I have two iframes?

In the example below from https://www.autoitscript.com.

 

Using GetHtmlSource() only returns the source code of the main HTML.

 

<!DOCTYPE html>
<html>
<body>

<h1>The iframe element</h1>

<iframe src="https://www.w3schools.com" title="W3Schools Free Online Web Tutorials">
</iframe>

<iframe src="https://www.autoitscript.com/" title="Autoit">
</iframe>

</body>
</html>

 

Edited by bladem2003
Posted
3 hours ago, bladem2003 said:

when I have two iframes

Not knowing how.

You can think as this is not supported yet, but this is only a matter of time to get knowing how to do it.

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *

 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskSchedulerIE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related:How to get reference to PDF object embeded in IE * IE on Windows 11

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

I also encourage you to check awesome @trancexx code:  * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuffOnHungApp handlerAvoid "AutoIt Error" message box in unknown errors  * HTML editor

winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2023-04-24

Posted
3 hours ago, mLipok said:

You can think as this is not supported yet, but this is only a matter of time to get knowing how to do it.

 

https://github.com/ioa747/NetWebView2Lib/issues/91

 

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *

 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskSchedulerIE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related:How to get reference to PDF object embeded in IE * IE on Windows 11

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

I also encourage you to check awesome @trancexx code:  * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuffOnHungApp handlerAvoid "AutoIt Error" message box in unknown errors  * HTML editor

winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2023-04-24

Posted (edited)

not here... sorry

 

Edited by mLipok

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *

 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskSchedulerIE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related:How to get reference to PDF object embeded in IE * IE on Windows 11

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

I also encourage you to check awesome @trancexx code:  * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuffOnHungApp handlerAvoid "AutoIt Error" message box in unknown errors  * HTML editor

winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2023-04-24

  • 3 weeks later...
Posted

019-Markdown Project - Example

_Clipboard_03-15-2026_01.png


This is a fast and responsive Markdown editor built with AutoIt,
utilizing the WebView2 control for high-performance rendering.
It provides a seamless writing experience by bridging a native Windows interface with the modern Marked.js engine.

Key Features:

  • Real-Time Preview: Instantly see your Markdown rendered as HTML as you type.

  • Smart Editing: Dedicated formatting tools for Bold, Italic, Underline, and Code snippets.

  • File Management: Full support for creating, opening, and saving .md files with "Unsaved Changes" protection.

  • Modern Rendering: Powered by Microsoft Edge WebView2 for accurate and secure document display.

  • External Link Handling: Automatically intercepts web links to open them in your default system browser.

  • Clean Export: Easily copy the generated HTML code to your clipboard for use in other applications.


https://github.com/ioa747/NetWebView2Lib/blob/main/examples/019-MarkdownViewer.au3
https://github.com/ioa747/NetWebView2Lib/blob/main/examples/JS_Lib/marked/marked.umd.js

 

Please, every comment is appreciated!
leave your comments and experiences here!
Thank you very much  :)

 

I know that I know nothing

Posted
On 3/15/2026 at 8:35 PM, ioa747 said:

019-Markdown Project - Example

At first glance, I thought you meant creating an EDITOR, a kind of CMS editor, something like:

 

But now I understand your concept differently.
I think this will be really great for quickly creating well formated message window.

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *

 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskSchedulerIE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related:How to get reference to PDF object embeded in IE * IE on Windows 11

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

I also encourage you to check awesome @trancexx code:  * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuffOnHungApp handlerAvoid "AutoIt Error" message box in unknown errors  * HTML editor

winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2023-04-24

Posted
17 minutes ago, mLipok said:

I thought you meant creating an EDITOR, a kind of CMS editor

I meant about using this:

https://www.tiny.cloud/get-tiny/

https://www.tiny.cloud/docs/tinymce/latest/full-featured-premium-demo/

 

or this:
https://ckeditor.com/ckeditor-5/download/#self-hosted-zip

https://ckeditor.com/ckeditor-5/demo/


With ability to save the content and read it form BINARY data (which can hosted on user DMBS)

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *

 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskSchedulerIE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related:How to get reference to PDF object embeded in IE * IE on Windows 11

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

I also encourage you to check awesome @trancexx code:  * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuffOnHungApp handlerAvoid "AutoIt Error" message box in unknown errors  * HTML editor

winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2023-04-24

Posted (edited)

New Version (v2.2.1-alpha) has arrived
I updated the first post  :)   

 

🛠️ Migration Note (Important)

Due to changes in the COM Dispatch IDs (DispIds) for better organization, it is  highly recommended  to run the included  RegCleaner.au3  before registering the new version. This ensures that any stale registry entries from previous builds are purged, preventing "Object action failed" errors.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

019-mdMsgBox_Example.au3

Modern Markdown MsgBox via WebView2 & AutoIt

_msgbox.png

https://github.com/ioa747/NetWebView2Lib/blob/main/examples/019-mdMsgBox.au3

Hello everyone,

I'd like to share a project that serves as a modern, highly customizable MsgBox.
It uses Microsoft Edge WebView2 to render content, allowing for full Markdown support and Font Awesome 7 icons.

Why use this?
Rich Formatting: Use Bold, Italic, Lists, and Headers via Markdown.

Font Awesome Integration: Support for 2,000+ icons with native animations (spin, bounce, beat).
Standalone/Native: The mdMsgBox.exe can be used as a standalone tool.

CLI Ready: Pass data via command-line arguments (Hex encoded for safety).

Fully Customizable: Custom colors, widths, and "Default" button focus.

How it works

; 019-mdMsgBox_Example.au3

_Example1()
;~ _Example2()
;~ _Example3()
;~ _Example4()
;~ _Example5()

Func _Example1()
    ; === Caller Script Example ===
    Local $sTitle = "Markdown MsgBox"
    Local $sMarkdown = "" & _
            "# 🎯 Make your Choice" & @CRLF & _
            "This is a **Modern UI** message box." & @CRLF & _
            "* 1️⃣ **Engine:** WebView2" & @CRLF & _
            "* 2️⃣ **Parser:** Marked.js" & @CRLF & _
            "* 3️⃣ **Logic:** AutoIt Bridge"
    Local $sButtons = "1|2|3|~CANCEL"
    Local $sHexText = String(StringToBinary($sMarkdown, 4)) ; Convert to Hex for safe CLI passage

    ; Call your compiled EXE
    ; We pass Title, Text (Hex), Buttons and a custom Button Color
    Local $iExitCode = RunWait('mdMsgBox.exe /Title:"' & $sTitle & '" /Text:' & $sHexText & ' /Buttons:"' & $sButtons & '" /TopMost:1')

    Switch $iExitCode
        Case 0
            ConsoleWrite("User cancelled or closed the window." & @CRLF)
        Case 1, 2, 3
            ConsoleWrite("User clicked: " & $iExitCode & @CRLF)
        Case 4
            ConsoleWrite("User clicked: CANCEL (Default)" & @CRLF)
    EndSwitch
EndFunc   ;==>_Example1

Func _Example2()
    Local $sIcon = _FA("exclamation-triangle", 0, 0xF1C40F, "beat", 1)
    Local $sMarkdown = "## " & $sIcon & " Warning" & @CRLF & "SQLite3.dll could not be loaded."
    Local $sHexText = StringToBinary($sMarkdown, 4)
    RunWait('mdMsgBox.exe /Title:"Error" /MaxWidth:300 /Text:' & $sHexText & ' /Buttons:~Cancel')
EndFunc   ;==>_Example2

Func _Example3()

    Local $sBack = _FA("circle", 0, 0xD73443, "fade")  ; Flashing red circle (Fade)
    Local $sFront = _FA("exclamation")                 ; White exclamation mark (fixed)
    Local $sIconHeader = _FA_Stack($sBack, $sFront, 1) ; Stacking, 1 = fa-lg for slightly larger
    Local $sText = "## " & $sIconHeader & " Unsaved Data." & @CRLF & _
            "You have **unsaved changes**." & @CRLF & "Do you want to **exit without saving?**"
    Local $sHexText = StringToBinary($sText, 4)
    If RunWait('mdMsgBox.exe /Title:"Warning" /Text:' & $sHexText & ' /Buttons:~NO|YES /BtnDefColor:0x559FF2 /BtnColor:0xD73443') = 2 Then
        ConsoleWrite("...exit without saving" & @CRLF)
    EndIf

EndFunc   ;==>_Example3

Func _Example4()
    ;Example Blue gear turning
    Local $sIconHeader = _FA("cog", 0, 0x559FF2, "spin", 2)
    Local $sText = "### " & $sIconHeader & " processing..." & @CRLF & _
            "copy is in progress. Please wait."
    Local $sHexText = StringToBinary($sText, 4)

    Run('mdMsgBox.exe /Title:"copy in progress" /BtnDefColor:0x3EB10D /Text:' & $sHexText & ' /Buttons:~Cancel')

    Sleep(15000)
    WinClose("copy in progress")
EndFunc   ;==>_Example4

Func _Example5()

    ; === Caller Script Example ===
    Local $sTitle = "Markdown MsgBox"
    Local $sIconClick = _FA("hand-point-down", 0, 0x559FF2, "bounce", 1)

    Local $sMarkdown = "" & _
            "## 😎  Font Awesome icon library " & @CRLF & _
            "* is a **icon library** with **2,140 free** Icons." & @CRLF & _
            "* https://fontawesome.com/search?ic=free-collection  " & $sIconClick

    Local $sHexText = String(StringToBinary($sMarkdown, 4)) ; Convert to Hex for safe CLI passage

    Local $sBtn1 = _FA("arrow-rotate-right", 0, "", "spin", 1) & "arrow"
    Local $sBtn2 = _FA("floppy-disk", 1, "", "fade", 1) & "floppy"
    Local $sBtn3 = _FA("circle-down", 1, "", "beat", 1) & "down"
    Local $sBtn4 = _FA("clipboard", 1, "", "", 1, "fa-flip") & "clipboard"
    Local $sButtons = StringToBinary($sBtn1 & "|" & $sBtn2 & "|" & $sBtn3 & "|" & $sBtn4, 4)

    ; Call your compiled EXE
    Local $iExitCode = RunWait('mdMsgBox.exe /Title:"' & $sTitle & '" /Text:' & $sHexText & ' /Buttons:"' & $sButtons & '" /MaxWidth:500')
    ConsoleWrite("User clicked: " & $iExitCode & @CRLF)
EndFunc   ;==>_Example5

Func _FA($sIconName, $iStyle = 0, $hColor = "", $sEffect = "", $iSize = 0, $sExtra = "")
    ; https://docs.fontawesome.com/web/style/animate/
    ; $iStyle:  0="fa-solid", 1="fa-regular"
    ; $sEffect: "", "spin", "pulse", "beat", "fade", "bounce", "Shake", "beat-fade"
    ; $iSize:   0=normal, 1=lg, 2=2x, etc.
    ; $sExtra:  "fa-rotate-90", "fa-flip-horizontal", "fa-border"

    Local $sPrefix = ($iStyle ? "fa-regular" : "fa-solid")
    Local $sClass = $sPrefix & " fa-fw fa-" & $sIconName

    If $sEffect <> "" Then $sClass &= " fa-" & $sEffect
    If $sExtra <> "" Then $sClass &= " " & $sExtra

    If $iSize > 0 Then
        Local $sSizeSuffix = ($iSize = 1 ? "lg" : $iSize & "x")
        $sClass &= " fa-" & $sSizeSuffix
    EndIf

    Local $sStyleAttr = "margin-right:5px; vertical-align: middle;"
    If $hColor <> "" Then $sStyleAttr &= "color:#" & Hex($hColor, 6) & ";"

    Return "<i class='" & $sClass & "' style='" & $sStyleAttr & "'></i>"
EndFunc   ;==>_FA

Func _FA_Stack($sBackHTML, $sFrontHTML, $iStackSize = 0)
    Local $sSizeClass = ($iStackSize = 1 ? " fa-lg" : ($iStackSize > 1 ? " fa-" & $iStackSize & "x" : ""))
    Local $sFinalBack = StringReplace($sBackHTML, "fa-fw", "fa-stack-2x")
    Local $sFinalFront = StringReplace($sFrontHTML, "fa-fw", "fa-stack-1x fa-inverse")
    Return "<span class='fa-stack" & $sSizeClass & "' style='vertical-align: middle; margin-right: 8px;'>" & _
            $sFinalBack & $sFinalFront & _
            "</span>"
EndFunc   ;==>_FA_Stack

 

    mdMsgBox parameters with default values
    /BkColor:0x2B2B2B   ; (Dark slate gray)
    /TxtColor:0xE0E0E0  ; (Gainsboro)
    /FootColor:0x1E1E1E ; (Black)
    /MaxWidth:400
    /MaxHeight:800
    /Left:-1
    /Top:-1
    /Title:"Markdown MsgBox"
    /Text:""
    /Buttons:"OK"
    /BtnDefColor:0xD73443 ; (Crimson)
    /BtnColor:0x559FF2    ; (Cornflower blue)
    /Timer:0
    /TopMost:0
    /Parent:0

 

_mdMsgBox_D4WKj.gif

_mdMsgBox_pKR6v.gif

_mdMsgBox_5f12t.gif

https://fontawesome.com/search?ic=free-collection

Please, every comment is appreciated!
leave your comments and experiences here!
Thank you very much  :)

 

Edited by ioa747

I know that I know nothing

Posted

1) ..what if:
@mLipok makes something very cool with a version of this and ships to users.
@argumentum makes something very cool with another version of this and ships to users.

Can 2 different versions coexist ? Can it be made to coexist ?

2) I'd like to make those UI. Is there a "Koda" to make them ? How would I go about it ?

Thanks. All this is awesome :) 

Follow the link to my code contribution ( and other things too ).
FAQ - Please Read Before Posting.
autoit_scripter_blue_userbar.png

Posted
27 minutes ago, argumentum said:

scaling 175%

What is wrong with this ?

 

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *

 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskSchedulerIE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related:How to get reference to PDF object embeded in IE * IE on Windows 11

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

I also encourage you to check awesome @trancexx code:  * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuffOnHungApp handlerAvoid "AutoIt Error" message box in unknown errors  * HTML editor

winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2023-04-24

Posted
45 minutes ago, argumentum said:

1) ..what if:
@mLipok makes something very cool with a version of this and ships to users.
@argumentum makes something very cool with another version of this and ships to users.

Can 2 different versions coexist ? Can it be made to coexist ?

2) I'd like to make those UI. Is there a "Koda" to make them ? How would I go about it ?

Thanks. All this is awesome :) 

Ad 1

What you mean ?

Ad 2

@ioa747

I did'nt look at the current example

https://github.com/ioa747/NetWebView2Lib/blob/main/examples/019-mdMsgBox_Example.au3

 

Please add standard win32 Edit field. Relate them with $sMarkdown

It would be like an editor, and quick tester for user projects.

 

 

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *

 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskSchedulerIE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related:How to get reference to PDF object embeded in IE * IE on Windows 11

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

I also encourage you to check awesome @trancexx code:  * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuffOnHungApp handlerAvoid "AutoIt Error" message box in unknown errors  * HTML editor

winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2023-04-24

Posted (edited)

My monitor is 5120x2160 and the Scale is 175%

@ioa747, I've changed the example a bit to not have to compile the "mdMsgBox stub"

Spoiler
_Example1()
;~ _Example2()
;~ _Example3()
;~ _Example4()
;~ _Example5()

Func mdMsgBox_Exec($sParam) ; skip the compilation in the examples
    If FileGetSize("mdMsgBox.exe") Then Return ShellExecuteWait("mdMsgBox.exe", $sParam)
    If @AutoItExe = @ScriptFullPath Then Return ShellExecuteWait(@ScriptDir & '\019-mdMsgBox.au3', $sParam)
    Return ShellExecuteWait(@AutoItExe, '"' & @ScriptDir & '\019-mdMsgBox.au3" ' & $sParam)
EndFunc   ;==>mdMsgBox_Exec

Func _Example1()
    ; === Caller Script Example ===
    Local $sTitle = "Markdown MsgBox"
    Local $sMarkdown = "" & _
            "# 🎯 Make your Choice" & @CRLF & _
            "This is a **Modern UI** message box." & @CRLF & _
            "* 1️⃣ **Engine:** WebView2" & @CRLF & _
            "* 2️⃣ **Parser:** Marked.js" & @CRLF & _
            "* 3️⃣ **Logic:** AutoIt Bridge"
    Local $sButtons = "1|2|3|~CANCEL"
    Local $sHexText = String(StringToBinary($sMarkdown, 4)) ; Convert to Hex for safe CLI passage

    ; Call your compiled EXE
    ; We pass Title, Text (Hex), Buttons and a custom Button Color
    Local $iExitCode = mdMsgBox_Exec('/Title:"' & $sTitle & '" /Text:' & $sHexText & ' /Buttons:"' & $sButtons & '" /TopMost:1')

    Switch $iExitCode
        Case 0
            ConsoleWrite("User cancelled or closed the window." & @CRLF)
        Case 1, 2, 3
            ConsoleWrite("User clicked: " & $iExitCode & @CRLF)
        Case 4
            ConsoleWrite("User clicked: CANCEL (Default)" & @CRLF)
    EndSwitch
EndFunc   ;==>_Example1

 

Edited by argumentum

Follow the link to my code contribution ( and other things too ).
FAQ - Please Read Before Posting.
autoit_scripter_blue_userbar.png

Posted (edited)
8 minutes ago, mLipok said:

Ad 1

What you mean ?

A user, any user: lets say @mLipok makes a script with this and everybody uses it because is great. Kudos :) 
Then someone else makes a script a year later but conflicts with the prior version(s), then what 🤔

Hence the request to have the ability of registering each version independently so that they can both ( or multiple ) versions work without disrupting each other.

Maybe that is already there and I should study the script before making requests that already exist ? 😅

Edited by argumentum

Follow the link to my code contribution ( and other things too ).
FAQ - Please Read Before Posting.
autoit_scripter_blue_userbar.png

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...