Jump to content
PeterVerbeek

Pal, Peter's AutoIt functions Library

Recommended Posts

This topic give you access to an AutoIt functions library I maintain which is called PAL, Peter's AutoIt Library. The latest version 1.25 contains 212 functions divided into these topics:

Change log and files section  on the PAL website (SourceForge).

A lot of these functions were created in the development of Peace, Peter's Equalizer APO Configuration Extension, which is a user interface for the system-wide audio driver called Equalizer APO.

Edited by PeterVerbeek
Release new version 1.25

Creator of the Peace equalizer, an interface for Equalizer APO. Besides Peace, my library of functions is also available on SourceForge.

Share this post


Link to post
Share on other sites

Great toolbox :thumbsup:

I just noticed that you provide a CHM file as well.
How did you create this help file?
Did you use the UDF source file as input?
Which tools do you use?

I always wanted to create a full blown CHM help file for my UDFs but couldn't get my head around it ;)

I would be glad if you could shed some light onto the subject.


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2021-04-14 - Version 1.5.3.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2021-04-13 - Version 1.6.4.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (NEW 2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
Task Scheduler (2019-12-03 - Version 1.5.1.0) - Download - General Help & Support - Wiki

Tutorials:
ADO - Wiki, WebDriver - Wiki

 

Share this post


Link to post
Share on other sites

I create CHM file's with Precision Helper. It's pretty easy to use but you need a decent HTML editor for the pages of your manual/help file. I use BlueGriffon. Let me hear if you need more info but it's quite easy to set up.

For every UDF I created a HTLM file. Of course I could have create an automatic HTML file creator tool which scans the UDF's to create HTLM pages but I didn't bother. Most UDF's have additional info like an example which need to be written. To my opinion every library and program need a manual, a CHM file and/or website. Precision Helper can also created the pages for a help manual website.

For the images in my programs and in a manual I use Inkscape and the Gimp.


Creator of the Peace equalizer, an interface for Equalizer APO. Besides Peace, my library of functions is also available on SourceForge.

Share this post


Link to post
Share on other sites

Thanks a lot!

I already can generate the html files from a UDF. So I just need to play with the tool you suggested and create the CHM. Great 😃


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2021-04-14 - Version 1.5.3.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2021-04-13 - Version 1.6.4.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (NEW 2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
Task Scheduler (2019-12-03 - Version 1.5.1.0) - Download - General Help & Support - Wiki

Tutorials:
ADO - Wiki, WebDriver - Wiki

 

Share this post


Link to post
Share on other sites

That's right. The only thing you need is a stylesheet (css file) to make your html pages look nice. I guess you're familair how a website is build so you know what a css file is.


Creator of the Peace equalizer, an interface for Equalizer APO. Besides Peace, my library of functions is also available on SourceForge.

Share this post


Link to post
Share on other sites

Another tip I can give you. If you want to show a CHM file to an user of your app, you need to do this in a certain way. Fortunately the miscellaneous section of Pal has 2 UDF's for this: _CHMShow() and _CHMShowOnF1().


Creator of the Peace equalizer, an interface for Equalizer APO. Besides Peace, my library of functions is also available on SourceForge.

Share this post


Link to post
Share on other sites

The 1.20 version of PAL has one handy function called _WindowForceToPrimaryMonitor(). When you have a mechanism of saving and restoring a GUI window position, it could be that the GUI is restored beyond the desktop due to a change of the desktop or a monitor deactivation.

;~ restore GUI to former position as stored in $SavedPos[]
$hMyGUI = GUICreate("My amazing app", 500, 300, $SavedPos[0], $SavedPos[2])
_WindowForceToPrimaryMonitor($hMyGUI)   ; if needed force GUI to primary monitor when $SavedPos[] is outside desktop area

 


Creator of the Peace equalizer, an interface for Equalizer APO. Besides Peace, my library of functions is also available on SourceForge.

Share this post


Link to post
Share on other sites
On 1/28/2020 at 6:03 PM, PeterVerbeek said:

Let me hear if you need more info

I have installed Precision Helper, and already have most of the HTML help pages required for the manual for my app, however I am stumped as to how to put them all together into a decent .chm file with index, TOC, etc. Is there a resource you can recommend where I can find beginners' (step-by-step) tutorial/how-to?

Share this post


Link to post
Share on other sites

Start Precision Helper to create a new project in a folder (I usually create a folder called Help in my AutoIt project folder). At the left you'll find the TOC, Index and tabs such as Settings. Add a topic in the TOC and select a HTML file by clicking the "Select topic" button (right to the Table of Contents). Keep adding topics and subtopics to create the manual/help. You can drag a topic to change its position in the TOC. Then add search keys in the Index, same procedure as topics. The green Run button creates the chm file and shows it. One neat trick is putting your HTML editor in the Precision Helper settings so it can be started by the clicking the Edit button.

I've included an image of the manual I made for the Peace equalizer. In orange some pointers on how to create a chm.

286576356_PrecisionHelperPeacemanualinstructions.thumb.png.4302dc2403df4948f21bdf8be63c7d8e.png

Edited by PeterVerbeek

Creator of the Peace equalizer, an interface for Equalizer APO. Besides Peace, my library of functions is also available on SourceForge.

Share this post


Link to post
Share on other sites

You should get what's shown below. Do get any details, say on the first topic? I haven't encounter an issue Windows not correctly displaying a chm file.

As an alternative I've included a zip file which can be displayed in a browser. Unzip to a folder and open index.htm.

1614213789_chm-_WindowWidth.thumb.png.7d936006c8cfd107dff2b0c5364998bf.png

 

htmlhelp.zip

Edited by PeterVerbeek

Creator of the Peace equalizer, an interface for Equalizer APO. Besides Peace, my library of functions is also available on SourceForge.

Share this post


Link to post
Share on other sites

It's a Microsoft security restriction stopping the display. Its impossible to view CHM files that are stored on a network drive unless you lower the restrictions on the Local Intranet zone to allow CHM files to be displayed

Share this post


Link to post
Share on other sites

@benners Thanks, I didn't know that. As a chm is built from html pages, obviously it could be like a browser pose a security issue on networks.


Creator of the Peace equalizer, an interface for Equalizer APO. Besides Peace, my library of functions is also available on SourceForge.

Share this post


Link to post
Share on other sites

Right click on CHM, click properties, at bottom of properties dialog box, click unblock. This is assuming you have admin rights. AFAIK you only have to do this once. I've not looked but seems there might be an easier way, maybe a reg hack but this works for a one off.

Share this post


Link to post
Share on other sites

This library has been extended to include functions which return the window coordinates according to the Desktop Window Manager (DWM) on Windows Vista and higher. The DWM has different coordinates than the AutoIt functions report. This is due to features like window shadows and animation. You'll find the DWM functions in the new version 1.23 on the PAL SourceForge website.


Creator of the Peace equalizer, an interface for Equalizer APO. Besides Peace, my library of functions is also available on SourceForge.

Share this post


Link to post
Share on other sites

Version 1.24 released. Some shortcut window state detection functions like _WindowMinimized() checking if a window is minimized. And the _GUIGetBkColor() is able to retrieve the background color according to the (internal) window class which should be the theme background color.


Creator of the Peace equalizer, an interface for Equalizer APO. Besides Peace, my library of functions is also available on SourceForge.

Share this post


Link to post
Share on other sites
On 2/23/2020 at 12:16 PM, PeterVerbeek said:

The 1.20 version of PAL has one handy function called _WindowForceToPrimaryMonitor(). When you have a mechanism of saving and restoring a GUI window position, it could be that the GUI is restored beyond the desktop due to a change of the desktop or a monitor deactivation.

I usually just right-click the taskbar and choose "Cascade windows", then it comes back to primary monitor. :)


Some guy's script + some other guy's script = my script!

Share this post


Link to post
Share on other sites

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

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By DJ143
      I have a autoit exe file which is used in upload/browse file functionality.  This has been integrated with selenium framework and I am invoking the autoit exe using Java process and runtime. 
      Now the issue is when I run the scripts and invoke the autoit exe in local it works perfectly.  But when I use selenium grid or jenkins to run the scripts in another windows server it is not working.
      Can anyone please suggest any solution for this?
    • By meety
      My au3 script program needs administrator privileges on win10 to be executed correctly, because it needs to be added to the boot---Script code:RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName, "REG_SZ", @ScriptFullPath)
      I need to let the program automatically get administrator privileges, so I use a function of #RequireAdmin. Although the program can be added to the boot, but does not execute after system boot up? why is that?
      What should I do?
      --------------------------------------------------------------------
      Update:
      I found that after using the #RequireAdmin function, the program cannot be executed after system boot up.
      An example is given below. after it is compiled, it will not be executed after system boot up in the following two ways.
      1. C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\
      2. RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName, "REG_SZ", @ScriptFullPath)
      why is that?
      example
      #include <MsgBoxConstants.au3>
      #RequireAdmin
      Func test()
          MsgBox(0, "", "this is test message")
      EndFunc   ;==>test
      test()
       
       
    • By meety
      Hello everyone
      I found some problems when using au3info to get the visible text: as shown in the attachment.
      Why is that? What do I need to do to get the visible text content?
       
       
    • By MiKa666
      Hi all,
      I'm developing a tool for exploratively testing another software. For that I wanna cover all the GUI functionality from that software and verify everything works as intended. But now I've a problem which I couldnt solve so far.
      One thing that software I'm testing does, is to load up either a single picture or a series of pictures. Depending on how much pictures got loaded, further actions will be proceeded...
      This loaded pictures are schon within a ToolbarWindow and they're clickable. What I need to know is, how much pictures are in this ToolbarWindow...
      Can anybody provide me a tip on how to achive this?
      Would be amazing!!
      BR,
      Mic
×
×
  • Create New...