Jump to content

Auto3Lib


PaulIA
 Share

Recommended Posts

My mistake on this one. I thought you were just dealing with trying to get a context menu to work. There is no native way to do tooltips for menu items. The programs that do this are overriding the menu class and providing their own code to display the tooltip. I found some discussion on Google about this, so I'd start there if you want to pursue this.

Auto3Lib: A library of over 1200 functions for AutoIt
Link to comment
Share on other sites

Merry Christmas!

I completed the screen capture module for Auto3Lib a couple of days ago. This library allows you to take a "snapshot" of your desktop and save it to a bitmap file. You can capture the whole screen or just a portion of the screen. You can also specify whether the cursor should be included in the image. The library is written entirely in AutoIt code. No Dlls required.

I completed the rework of the screen control modules. Most of the functions that returned structures now return arrays instead. It seems a lot of people were struggling with how to deal with a function that returned an structure. Go figure...

I have added SaveToFile/LoadFromFile functions to the Listbox and TreeView modules so that you can save/load the contents of these controls from a text file.

The Listbox, ListView and TreeView modules now have "StringInStr" type functions that will find an item if the search string is anywhere in the item text.

Auto3Lib: A library of over 1200 functions for AutoIt
Link to comment
Share on other sites

Hi,

Is it possible to use the Auto3Lib ListView functions in the same project as the GuiListView.au3 functions. If so, how? I am trying to set them both up with AutoIt 3.2.2.0 and the latest Auto3Lib, but there is a "cannot assign values to constants" problem with the Enum declaration on line 28 of GuiListView.au3:

Global Enum $LVI_MASK = 1,$LVI_IITEM,$LVI_ISUBITEM,$LVI_STATE,$LVI_STATEMASK,$LVI_PSZTEXT, _
    $LVI_CCHTEXTMAX,$LVI_IIMAGE,$LVI_LPARAM,$LVI_IINDENT

I didn't go any further than this as it indicates a fundamental problem with using the two groups of functions together, but I would like to, and have been up until now.

I managed to get them to work together with v3.2.1.14 and the latest Auto3Lib, but in moving to AutoIt v3.2.2.0 something (I think GuiListView.au3) has changed. I have moved back to AutoIt 3.2.1.14 with the latest Auto3Lib, and everything is working again.

Perhaps there could be some coordination between the two groups of functions, as they both have something that the other doesn't.

Please can you consider making them work together each AutoIt release.

Thanks,

Jonny

Link to comment
Share on other sites

Hi,

Is it possible to use the Auto3Lib ListView functions in the same project as the GuiListView.au3 functions. If so, how? I am trying to set them both up with AutoIt 3.2.2.0 and the latest Auto3Lib, but there is a "cannot assign values to constants" problem with the Enum declaration on line 28 of GuiListView.au3:

Global Enum $LVI_MASK = 1,$LVI_IITEM,$LVI_ISUBITEM,$LVI_STATE,$LVI_STATEMASK,$LVI_PSZTEXT, _
    $LVI_CCHTEXTMAX,$LVI_IIMAGE,$LVI_LPARAM,$LVI_IINDENT

I didn't go any further than this as it indicates a fundamental problem with using the two groups of functions together, but I would like to, and have been up until now.

I managed to get them to work together with v3.2.1.14 and the latest Auto3Lib, but in moving to AutoIt v3.2.2.0 something (I think GuiListView.au3) has changed. I have moved back to AutoIt 3.2.1.14 with the latest Auto3Lib, and everything is working again.

Perhaps there could be some coordination between the two groups of functions, as they both have something that the other doesn't.

Please can you consider making them work together each AutoIt release.

Thanks,

Jonny

We are working on it.

Suggest Including the GuiListView.au3 before the Auto3Lib and commenting out the constants in that will error in the Auto3Lib.

The Enums should end up in the ListViewConstants hopefully soon.

SciTE for AutoItDirections for Submitting Standard UDFs

 

Don't argue with an idiot; people watching may not be able to tell the difference.

 

Link to comment
Share on other sites

We are working on it.

Suggest Including the GuiListView.au3 before the Auto3Lib and commenting out the constants in that will error in the Auto3Lib.

The Enums should end up in the ListViewConstants hopefully soon.

Actually, the best thing for him to do is to move the enums from GUIListView.au3 to the ListViewConstants and remove them from A3LConstants.au3. Then everything will look like it should when the devs move the constants in the future. Edited by PaulIA
Auto3Lib: A library of over 1200 functions for AutoIt
Link to comment
Share on other sites

Actually, the best thing for him to do is to move the enums from GUIListView.au3 to the ListViewConstants and remove them from A3LConstants.au3. Then everything will look like it should when the devs move the constants in the future.

I don't really like those constants that are not really related with AutoIt functions but with UDF to be included in ListViewConstants.

But if that solve the cohabition why not.

Perhaps best is to have a DllStructConstants.au3 ...

Link to comment
Share on other sites

I don't really like those constants that are not really related with AutoIt functions but with UDF to be included in ListViewConstants.

But if that solve the cohabition why not.

Perhaps best is to have a DllStructConstants.au3 ...

Sounds like too much trouble. Give me a couple of days and I'll come up with something to isolate Auto3Lib from the GUI UDFs. I've already implemented a naming schema for the Auto3Lib functions to prevent naming collisions. Maybe I can do the same thing for the constants and then we won't have this problem in the future.

We'll just have to make sure that when people copy the code from Auto3Lib to use in the standard UDFs, they change the Auto3Lib function and global names (maybe drop the prefix) so that there won't be any collisions. Gary and I have already talked about this, so I don't think it will be a problem going forward.

Auto3Lib: A library of over 1200 functions for AutoIt
Link to comment
Share on other sites

Hi! Happy New Year!

I have some feedback for you on Treeview and Menu sample scripts.

I ran the Treeview 1 sample script yesterday and today using AutoIt 3.2.0.13 and AutoIt 3.2.2, and on both it is running into a problem I'd never seen before. When it hits the call to _TreeView_GetText() in ShowNodes(), an error messagebox pops up:

_API_WriteProcessMemory: Only part of a ReadProcessMemory or WriteProcessMemory request was completed.

After this, the script simply exits. This happens on the first node of the treeview visited by ShowNodes().

-----

Treeview 2 passes.

Menus 1 passes.

-----

Menus 2 fails using IE7 because it uses "Windows Internet Explorer" instead of "Microsoft Internet Explorer", and a few other GUI changes.

-----

Menus 3 fails because there appears to no longer be a function called _Menu_GetMenuString()

-----

System info:

Windows XP Home SP2

Gateway MX6440 (Laptop)

AMD Turion64

1.5 GB RAM

Link to comment
Share on other sites

I would just like to Thank PaulIA and all you other people who write these awesome UDF`s a very BIG thank you for making Making Autoit what it is today!

I can see some great things for next year with the Prospeed Dll being worked on!

Happy New Year! :P

Keep up the Great Work Guys! :D

Edited by Lakes

2015 - Still no flying cars, instead blankets with sleeves.

Link to comment
Share on other sites

Assigning custom icons to the toolbar is very simple. You can add an icon from a file using the AddBitmap function. This function allows you to load icons from an external file or from the predefined list of icons in the system (which is what the demo does). Take a look at the _Toolbar_AddBitmap call and read the documentation provided in the UDF. If you can't get it to work, post a small example of what you are trying to do in the Auto3Lib thread.

In fact i take your example and i want to take my own icon present in an .icl file Edited by LOULOU
Link to comment
Share on other sites

*** *** *** *** Auto3Lib History *** *** *** ***

12/25/2007 Added a module that allows you to capture all or part of the screen and save it as a bitmap file. No Dlls required. Added "StringInStr" type functions to the Listbox, ListView and TreeView modules.

- there is wrong year 2007

- there is missing new Load/Save functionality for ListBox, TreeView

Link to comment
Share on other sites

Version 3 released. Added support for ProgressBar, StatusBar and TabControl controls.

One of the major changes that I have made to this release is to move the constants that are related ONLY to a control, to the control's file. For example, the TreeView constants are now in the A3LTreeView file, the ListView constants are now in the A3LListView file, etc. The only constants left in A3LConstants are the Windows constants that need to be shared across the library.

This release introduces a new technique for dealing with AutoIt structures, which can be found in the A3LStructs file. The Auto3Lib library contains hundreds of DllStruct calls and at times, it becomes very hard to use. It was very easy to introduce bugs into the library because the constants used to reference the Dll structures were not "bound" to the structure itself. In addition, it has become apparant that I need to do something to make the structures in Auto3Lib unique so that we don't get naming collisions with other UDFs.

First, I developed a technique that allows you to reference the elements of a structure by name instead of ordinal position. For example, if I wanted to get the upper left hand coordinate of a RECT structure, I can now use "Left" instead of $RECT_LEFT. Next, I developed a technique that "binds" the element names to the structure itself. For example, the RECT structure has element names of Left, Top, Right and Bottom. If I try to reference the RECT structure with the element name of Zebra, I'll get a run time error. Lastly, I replaced the AutoIt DllStruct functions with equivalent Auto3Lib versions to bring the whole thing together.

You should be able to look at the UDFs/examples and figure out how this all works. It's no different than using the AutoIt DllStruct functions. The impact that this change will have on existing code will vary. If you are just using the control modules, you'll probably not have to change much at all. If you're using calls from the A3LWinAPI module, you'll need to adjust you code to use the Auto3Lib _tag functions instead of the AutoIt DllStruct functions for anything that takes/returns a structure (i.e. RECT, POINT, etc).

Auto3Lib: A library of over 1200 functions for AutoIt
Link to comment
Share on other sites

Quite the project! Looks really fantastic.

I don't know if someone here could help, but I thought I'd at least ask... LOULOU suggested using your Lib for a support question I posted over here. Basically I'm trying to keep an RDP session alive by Sending a key or clicking on the "ControlID" of the primary window.

I've attached two screenshots of what that ID is purported to be. The first is what I get when the screen is maximized, the second for when it is windowed.

If this is not the place to get further help, then no problem, just looking for some fresh insight as I'm running out of ideas :">

Link to comment
Share on other sites

I don't know if someone here could help, but I thought I'd at least ask... LOULOU suggested using your Lib for a support question I posted over here. Basically I'm trying to keep an RDP session alive by Sending a key or clicking on the "ControlID" of the primary window.

I don't think Auto3Lib can help you out here. From the screen shots that you've posted, it looks like these are derived controls (not native system controls). Auto3Lib is used to control the native system controls. However, I would think the standard AutoIt control functions would work for clicking and send control commands.
Auto3Lib: A library of over 1200 functions for AutoIt
Link to comment
Share on other sites

ahhhh looks amazing

i was waiting for this to be released

i've learned so much from your project

thx again for your amazing work and time spent

Edited by arcker

-- Arck System _ Soon -- Ideas make everything

"La critique est facile, l'art est difficile"

Projects :

[list] [*]Au3Service : Run your exe as service V3 / Updated 29/07/2013 Get it Here [/list]
Link to comment
Share on other sites

Awesome. Absolutely awesome. Every time I think you've outdone yourself, there you go again...

I do have a feature request for a future release: it would be nice to be able to save screen captures in formats other than BMP. Specifically, JPG format would be most welcome. Apart from that, the way you simplified that (surprisingly complex) functionality into a single command is fantastic.

I've been running the example scripts again for you. I found only two bugs! Just so you know:

C:\...\Auto3Lib\Examples\Toolbar 2.au3(97,87) : ERROR: _Menu_GetMenuItemText(): undefined function.

_Lib_ConsoleWrite($sItem & "string ........: " & _Menu_GetMenuItemText($hMenu, $iI)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

The other bug (assuming it is a bug) is that the Tooltip2 example script only returned the first 80 characters of any tooltip, followed by different [control characters]:

Contains files shared with your contacts and files your contacts have shared wit [+ACK]

Provides options for you to customize the appearance and functionality of your c [+VT]

123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...