Sign in to follow this  
Followers 0
Guest BillOJette

SOME help requested!

2 posts in this topic

Hello out there, greetings from Mexico!

I have some questions and requests i would appreciate a lot you take the time to read and answer if you can, thanks in advance.

By the way i must point out that i have read the help file carefully; when i'm going to implement something new i know almost exactly where to find info about parameters, styles, etc. so "i guess" i'm not asking silly questions.

I include a zip file containing examples of some of my questions.

1. Is it possible to do, or implement, transparent text splashes, like that green volume bars overlay some keyboards do?. I tried to do that by setting the GUI style to $WS_POPUP and $WS_EX_LAYERED set an image for chroma (blue) 1X1 pixel and then an image the size of the GUI with that color, then creating a label with the background of chroma image but it doesn't works. The image set the size of the GUI makes effectively transparent it's coverage area but the label shows it's backgruound color still. Am i right or wrong?, Can something be done?

2. Is it a side effect of AutoIt being interpreted that reading of files is slow?, Can you tell me the average lines interpreted speed of AutoIt? and if the read speed can be increased?

3. Barely a week ago i downloaded the Beta 3.1.1.76 and found some cool functions like those of objects (which i still don't understand quite good), and choose font and color picker dialogs (which in fact i was looking for before discovering Beta). well i saw some posts about agents and a link directing to a page with free agents downloads, i tried the examples and they work wonderfully, i adapted a bit the script posted to show one cool agent called SJR-23 (is a neat robot) and made it to do some gestures, but it happens that it always appears in position x0, y0. I tried the WinMove function but it doesn't works. Is it possible to move this agents?. I tried to make my own agents, but with AVIs, made the GUI POPUP and LAYERED, but even when the AVI has a transparency layer, it shows the windows default gray where it should be transparent, and even when i set the background color of the GUI to any other color but gray. Does the LAYERED style works with AVIs?

example script included (must download agent 5.6MB http://www.e-clips.com.au/index.cfm)

example script included

4. I made some buttons with flash, arcade buttons, and created labels for the hit area (making them $WS_EX_TRANSPARENT) and then created the objects. It happens that at startup it works OK but if you minimize the window or some other window covers the GUI, when it shows again the labels cover the objects even when they are supposed to be transparent. So i defined a hit area with MouseGetPos() and it's buttons parammeters, this works good but it happens that the hit area is defined square and the buttons are round, i know you'll say make the buttons square, but it would be cool if a hit area could be defined with a graphic event, but graphic's events don't work when graphic is covered by object, even if the flash objects has the transparent attribute enabled. So i was thinking if it's possible to implement a hit area, not control, but a function and define it a circle, triangle or whatever with sqare coordinates. Is it possible to catch the flash events?

example script included

5. Like i said i discovered many good stuff with Beta like that of reading/writing binary files (which also takes a lot but is neat), that of the font and color picker dialogs and some others for animate windows, etc. So i was wondering if it there's a function to read out the CPU stress, i found a topic about doing that opening the task manager hidden and reading it's status bar, it works OK, but if you need to shut down an stuck program then the task manager is already open but hidden and you can't do anything but to close the script and/or the task manager and call it again, besides that it appears something like a green vertical usage bar in the system tray. So the big question is. Is it possible to read the CPU stress by means of a DLL or some other function like that of the color picker that it returns the color selected?

6. Would it be possible to do or implement creating accelerator letters for buttons and/or menus? In the help file appears $SS_NOPREFIX but is for labels. I found that if two menus/menu items begin with the same letter, pressing the given key switches between them. I think accelerator letters would be good, anyway by now we have hotkeys.

7. Would it be possible to implement serial, parallel, USB, any of those or all :P, read/write?. I'm asking this because i make electronics circuits using microcontrollers, so it would be great to make some gadgets that interface with AutoIt. I am thinking that in short time, i'll write some program with C++ or VB, which by the way i don't know by know, that receives a byte or some, by command line and then responds in the same way. I've made some simple programs in C but don't know how to interface ports with all those exception problems and privileged instructions, then i found AutoIt and at first i honestly couldn't believe it is so easy to program with it, not like all those {} to open/close functions or loops, so it would be great if that could be done with AutoIt, but i guess that the answer for that is "No, for a big while". I'll wait, maybe someday. By the way has that {} usage in all those "High Level" programs some advantage? I guess that the AutoIt method is unique, and i think that just with indentation is enough to recognize a program's structure. Maybe someone with good programming experience should write an AutoIt to C or VB or Delphi or whatever compiler ;), please don't insult me, is just that i'm unexperienced and i love AutoIt's way and simplicity.

8. Just a little context: you right click a folder in windows and then choose "customize" tab ("personalizar") and the click "change icon" ("cambiar icono"), then you select an icon for your folder and voila! the folder gets a new look. I wrote the next script to create a folder and then create the file "Desktop.ini" in it with all the contents an attributes, but nothing happens, the folder stays the same. I took a file created by windows the old way (with the same icon) and the file created by the script and compared them with a CRC tool and they are identical, but the one created by the script does nothing. Has this something to do with that CLSID stuff?. I've created a disc image of the folder created by this script with Nero, loaded it with ImageDrive and it turns out that the folder in the image DOES shows the assigned icon, you open the folder and you can see the "Desktop.ini" file, just hidden, not with the system attribute. What is happening?. After running the script i have closed the session, and even tried rebooting, and nothing happens. Is there a way to know a folder's CLSID?

example script included

9. Is there a way to load custom cursors? I saw a post that called a DLL, don't remember well but i guess it was kernell, that called an animated cursor in windows\cursors, but the animation stops when you move cursor and it starts again from the begining when you stop moving cursor, and it doesn't works over controls. So is there a way to set custom cursors like by compiling them in the AutoIt.bin, like i saw in another post is done with icons?, is there a way to call a cursor by path and not by index?

Enough for now, I hope is not asking too much. I've made some scripts by looking to examples in the installation, reading the help file and the posts online, and then applying some ideas i had. As soon as i comment them properly i'll post them for anyone who wants them here or somewhere else. I'm planning to make a web page with the programs i've made with AutoIt and my electronics projects. I think, and i know i'm not the only one, that AutoIt is the best free project in the world. I can't afford to buy software that costs hundreds or even thousands of dollars; i use AutoIt, OpenOffice, Opera, Blender and some others. That's why i love projects like AutoIt, which are excellent and free. i said i can't afford to pay hundreds of dollars, but i can afford to contribute with $10 a month, i know is not much but hope many many others do the same and then it would be something. I don't have a credit card nor want one so i would like to know if there is another way like money order or something like that.

I thank you very much in advance for any help provided. Best regards from Mexico to John, the AutoIt developers team, and all those who contribute in the forum.

AutoIt forever!!!HelpRequest.zip

Share this post


Link to post
Share on other sites



Welcome to the forums Bill!

I can answer a few of your questions (hopefully to satisfaction):

2. Is it a side effect of AutoIt being interpreted that reading of files is slow?, Can you tell me the average lines interpreted speed of AutoIt? and if the read speed can be increased?

Not necessarily -- it has been found that generally the method of storing the information in memory has a substantial effect on speed. For instance, reading a file line-by-line and appending each line to a string will be much slower than reading a file line-by-line and storing it to an array.

6. Would it be possible to do or implement creating accelerator letters for buttons and/or menus? In the help file appears $SS_NOPREFIX but is for labels. I found that if two menus/menu items begin with the same letter, pressing the given key switches between them. I think accelerator letters would be good, anyway by now we have hotkeys.

I believe that you can add an ampersand (&) to an item's label and the character following it will become an accelerator, e.g. &File -> File.

8. Just a little context: you right click a folder in windows and then choose "customize" tab ("personalizar") and the click "change icon" ("cambiar icono"), then you select an icon for your folder and voila! the folder gets a new look. I wrote the next script to create a folder and then create the file "Desktop.ini" in it with all the contents an attributes, but nothing happens, the folder stays the same. I took a file created by windows the old way (with the same icon) and the file created by the script and compared them with a CRC tool and they are identical, but the one created by the script does nothing. Has this something to do with that CLSID stuff?. I've created a disc image of the folder created by this script with Nero, loaded it with ImageDrive and it turns out that the folder in the image DOES shows the assigned icon, you open the folder and you can see the "Desktop.ini" file, just hidden, not with the system attribute. What is happening?. After running the script i have closed the session, and even tried rebooting, and nothing happens. Is there a way to know a folder's CLSID?

I think that it might be working but Windows is not yet aware of the new settings. What happens after a reboot?

There are methods to have Windows refresh its icons, etc. (this is used when a program modifies a file type's associations) -- it would most likely be a DLLCall(). Perhaps a search will help you find the necessary information or maybe someone who sees this will know where to find it.

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
Sign in to follow this  
Followers 0