Leaderboard
Popular Content
Showing content with the highest reputation on 03/29/2018 in all areas
-
Bug in Execute function
jchd and one other reacted to edzioedzio55 for a topic
I am sad that it is considered normal. I can not accept it as a mathematician2 points -
Note: This is the continuation thread from the original one of 2012. The old one growed over 50 pages...so to make the overview better i created a new main thread for the ISN AutoIt Studio. You can find the old original thread here. The ISN AutoIt Studio is a complete IDE made with AutoIt, for AutoIt! It includes a GUI designer, a code editor (with syntax highlighting, auto complete & intelisense), a file viewer, a backup system and a lot more features!! Here are some screenshots: Here are some higlights: Easy to create/manage/public your AutoIt projects! Integrated GUI-Editor (ISN Form Studio 2) Integrated file & projectmanager Auto backupfunction for your Projects Extendable with plugins! Available in several languages Trophies Syntax highlighting /Autocomplete / Intelisense Macros Changelog manager for your project Detailed overview of the project (total working hours, total size...) Am integrated To-Do List for your project Open Source (You can download the source code from my website) And much much more!!! -> -> Click here to download ISN AutoIt Studio <- <- Here is the link to the german autoit forum where I posted ISN AutoIt Studio the first time: Link For more information visit my Homepage: https://www.isnetwork.at So, have fun with the ISN AutoIt Studio! And feel free to post your feedback, bugreports or ideas for this project here in this thread!1 point
-
Fast Array Management Functions UDF
kurtykurtyboy reacted to LarsJ for a topic
With the functions in Accessing AutoIt Arrays it's possible to create some fast array management functions where all the hard work is done by compiled code or by accessing array memory directly. This is the main UDF for a number of sub-UDFs. The sub-UDFs divided by topics (general functions, sorting functions, etc.) implements the actual array functions and will be published as new examples. The main UDF contains functions to access arrays, functions and utilities common to several sub-UDFs, and functions to display arrays. The display functions are copied from Data display functions based on virtual listviews. Large arrays Arrays of interest are large arrays with 100,000 - 1,000,000 elements. The numbers are very round numbers. Depending on the specific array and situation, it may be 10,000 or 200,000 instead of 100,000 elements. And it may be 500,000 or 10,000,000 instead of 1,000,000 elements. Data types Array data types are primarily simple data types such as integers, floats and strings. Array elements containing arrays (arrays of arrays), functions, objects, structures (DllStructs) or maps (in the beta version) are not supported. The techniques to access AutoIt arrays from compiled code and to access array memory directly are both based on passing arrays as parameters to methods of COM objects. The arrays are passed by value. What happens if a special data type eg. a DllStruct contained in an array element is passed to compiled VB code? Is it still the same DllStruct when the array gets back to AutoIt? Such issues have not been taken into account in this first version. As far as arrays of arrays are concerned and the embedded arrays also contains simple data types there are no problems. This allows for new versions of some of the functions with support for embedded arrays. Maybe also support for other data types. Structure The project is structured this way: FAMproj\ - Top folder Display\ - Data display functions FAMudf\ - Fast Array Management Functions UDF FASudf\ - Fast Array Sorting and Management Functions UDF FGAudf\ - Fast General Array Management Functions UDF FXXudf\ - More fast array management functions UDFs The name of the top folder, FAMproj, is only used in 7z-files. It's not used in any UDFs or scripts. You can rename FAMproj as you want. But the other folders cannot be renamed. These names are used in UDFs and scripts. Main UDF The main UDF, FAMudf, and FAMudf.7z below is organized this way: FAMproj\ - Top folder Display\ - Data display functions FAMudf\ - Fast Array Management Functions UDF AccArrays\ - Access AutoIt arrays from compiled code Utilities\ - Contains utility functions common to all UDFs Readme.txt - Folder list (this list) and usage instructions Sub-UDFs Sub-UDFs, FXXudf's, and corresponding FXXudf.7z files are organized this way: FAMproj\ - Top folder FXXudf\ - Fast Array Management Functions sub-UDF DLLFiles\ - C++ DLL-files and VB.NET assembly DLL-files Examples\ - Example scripts to demonstrate the functions HelpFiles\ - Detailed information about some of the functions Functions.txt - Function list and headers (the main help file) Use_of_UDF.txt - Explains how to use the UDF in your own project Includes\ - Files that you include in your own AutoIt scripts Resources\ - Resources used in examples and runtime measuring Runtimes\ - Compare runtimes for AutoIt code and optimized code Sources\ - Contains C++ source files and VB.NET source files Utilities\ - Utility functions to generate VB.NET DLL-files Readme.txt - Folder list (this list) and usage instructions Not all sub-folders are used in all sub-UDFs. Note that the top folder FAMproj\ is the same folder for all UDFs. If you unzip the 7z-files in <My folder>, FAMproj will be an immediate subfolder: <My folder>\FAMproj. The structure of FAMproj\ should look as described in the Structure-section above. The name FAMproj is only used in 7z-files. You can rename it as you want. C++ code is delivered both as source files and as 32 and 64 bit dll-files. VB code is only delivered as source files which can be compiled and loaded on the fly. If you want to compile VB code into .NET assembly dll-files you have to do it yourself with the functions (usually only one) in Utilities\. All dll-files are stored in DLLFiles\. So far, the following sub-UDFs are available: Fast Array Sorting and Management Functions UDF Fast General Array Management Functions UDF Fast SQLite Management Functions UDF Information This thread will be used for general information for the entire project. Along the way more posts will be added below. Code optimization especially in relation to array transfer End of first version. Next version? FAMudf.7z FAMudf is delivered in FAMudf.7z and is the main UDF that's used by all the sub-UDFs. It contains functions to access arrays from compiled code and to access array memory directly. It also contains the display functions. FAMudf is a set of helper functions, but it does not contain any array management functions. The sub-UDFs contains the array management functions. To use the array management functions you have to download one or more of the sub-UDFs. You need AutoIt 3.3.10 or later. Tested on Windows 10 and Windows 7. Comments are welcome. Let me know if there are any issues. FAMudf.7z1 point -
1 point
-
AutoIt Window Info
Earthshine reacted to BrewManNH for a topic
It might be a DPI setting on the computer with the problem.1 point -
Bilgus, Very interesting indeed. Quite a lot of the above items are about automating the desktop. So far, they have been unanswered. I'll look into the code after the Easter holiday.1 point
-
Added a new phonograph record texture without lighting graphics. (Old texture can be seen shattered on table.) Items can be added to RightHand, moved, used, and dropped. Currently fixing the hands inventory system, then I'll work on a throw item action. Tools: Unity, Blender, GIMP Hardware: Printer / Scanner for IrishSpring, Ruler textures1 point
-
Auto Write Notes From Clipboard
coffeeturtle reacted to Draygoes for a topic
Hi all. I just wrote this quick script to aid me in copy and pasting information to a text file. No need to copy/switch windows/paste/switch window with this. I know that this is small, but I remember small scripts like this one being worth gold to me when I was just starting out. And besides that, if anyone ever finds themselves in need of this, you wont have to write it yourself. The Usage Lets say that you need to copy "String One" and String Four, the paste them to text file and save that text file. Run this script, and just copy one then the other. The script takes care of the rest. While 1 $s1Clip = ClipGet() Do Sleep( 100 ) $s2Clip = ClipGet() Until Not StringCompare($s1Clip, $s2Clip) = 0 FileWriteLine( "list.txt", $s2Clip ) ClipPut( "" ) WEnd Func Leave() Exit EndFunc1 point -
Choose dropdowmmenu in Internet Explorer form autoit script
Joro reacted to JLogan3o13 for a topic
Look at FAQ #31 in the Wiki1 point -
Hard to say with the limited information provided. Suggest that you review this thread for some ideas on what may be required --1 point
-
You can Use the desktop for most of the examples With the addition of a couple of functions: ; Get an IShellBrowser interface FindDesktopShellBrowser() ;GetIShellBrowser( $hExplorer ) ;And... If needed... ;Toggle Desktop ToggleDesktop(ObjCreate("shell.application")) Created Example Setting Destop View / Icon Size #include "Includes\AutomatingWindowsExplorer.au3" Opt("MustDeclareVars", 1) Example() Func Example() Local $objShell = ObjCreate("shell.application") Local Const $asFVM_VIEWS =["", "Icon", "Small Icon", "List", "Details", "Thumbnail", "Tile", "Thumbstrip", "Content", ""] ; Get an IShellBrowser interface FindDesktopShellBrowser() If Not IsObj($oIShellBrowser) Then MsgBox(0, "Automating Windows Explorer", "Could not get Desktop IShellBrowser interface. Terminating.") Return EndIf ; Get other interfaces GetShellInterfaces() ; Get current icon view Local $view = GetIconView() Local $iView, $iSize, $iSzRand, $sViewSz If IsArray($view) Then ; OS > XP ToggleDesktop($objShell) ;Show The Desktop $iView = $view[0] ; Icon view $iSize = $view[1] ; Icon size $sViewSz = "Icon View = " & $asFVM_VIEWS[$iView] & ", Size = " & $iSize ConsoleWrite ("Initial: " & $sViewSz & @CRLF) For $i = $FVM_FIRST To $FVM_LAST $iSzRand = Random(16, 64, 1) $sViewSz = "Icon View = " & $asFVM_VIEWS[$i] & ", Size = " & $iSzRand ConsoleWrite ($sViewSz & @CRLF) SetIconView($i, $iSzRand) ; Set view MsgBox(0, "Desktop View", "Current View: " & $sViewSz & @CRLF & "Next View: " & $asFVM_VIEWS[$i + 1]) Next SetIconView($iView, $iSize) ; Restore old view Else ; OS = XP $iView = $view If $iView <> $FVM_DETAILS Then ; Not details view SetIconView($FVM_DETAILS) ; Set details view ElseIf $iView <> $FVM_ICON Then ; Not icon view SetIconView($FVM_ICON) ; Set icon view EndIf Sleep(3000) ; Wait 3 seconds SetIconView($iView) ; Restore old view EndIf EndFunc ;==>Example Func FindDesktopShellBrowser() Local $_dtag_IShellWindows = $dtag_IShellWindows ;Populate Method $_dtag_IShellWindows = StringReplace($_dtag_IShellWindows, "FindWindowSW hresult();", _ "FindWindowSW hresult(variant*;variant*;int;long*;int;ptr*);") Local Const $CSIDL_DESKTOP = 0 Local Enum $SWC_EXPLORER = 0x00, $SWC_BROWSER = 0x01, $SWC_3RDPARTY = 0x02, $SWC_CALLBACK = 0x04, $SWC_DESKTOP = 0x08 ; ShellWindowTypeConstants; Local Enum $SWFO_NEEDDISPATCH = 0x01, $SWFO_INCLUDEPENDING = 0x02, $SWFO_COOKIEPASSED = 0x04 ; ShellWindowFindWindowOptions; Local $pIDispatch, $oIDispatch Local $pIWebBrowserApp, $oIWebBrowserApp, $hWnd ; IShellWindows interface Local $oIShellWindows = ObjCreateInterface($CLSID_ShellWindows, $sIID_IShellWindows, $_dtag_IShellWindows) ;Find the desktop window in list of Shell Windows ConsoleWrite("FindWindowSW HRESULT 0x" & _ Hex($oIShellWindows.FindWindowSW($CSIDL_DESKTOP, 0, $SWC_DESKTOP, $hWnd, $SWFO_NEEDDISPATCH, $pIDispatch)) & @CRLF) ConsoleWrite("Desktop hWnd = 0x" & Hex($hWnd) & @CRLF) If $pIDispatch Then $oIDispatch = ObjCreateInterface($pIDispatch, $sIID_IDispatch, $dtag_IDispatch) $oIDispatch.QueryInterface($tRIID_IWebBrowserApp, $pIWebBrowserApp) If $pIWebBrowserApp Then $oIWebBrowserApp = ObjCreateInterface($pIWebBrowserApp, $sIID_IWebBrowserApp, $dtag_IWebBrowserApp) EndIf EndIf ; IServiceProvider interface Local $pIServiceProvider, $oIServiceProvider $oIWebBrowserApp.QueryInterface($tRIID_IServiceProvider, $pIServiceProvider) $oIServiceProvider = ObjCreateInterface($pIServiceProvider, $sIID_IServiceProvider, $dtag_IServiceProvider) ; IShellBrowser interface Local $pIShellBrowser $oIServiceProvider.QueryService($tRIID_STopLevelBrowser, $tRIID_IShellBrowser, $pIShellBrowser) $oIShellBrowser = ObjCreateInterface($pIShellBrowser, $sIID_IShellBrowser, $dtag_IShellBrowser) EndFunc ;==>FindDesktopShellBrowser Func ToggleDesktop($objShell) If IsObj($objShell) Then $objShell.ToggleDesktop EndIf EndFunc ;==>ToggleDesktop1 point
-
How to set active child GUI
123disconnect reacted to KickStarter15 for a topic
@123disconnect Maybe: Case $Menu1 Child_Show($Form1) GUISetState ( @SW_HIDE, $Form2) GUISetState ( @SW_SHOW, $Form1) Case $Menu2 Child_Show($Form2) GUISetState ( @SW_HIDE, $Form1) GUISetState ( @SW_SHOW, $Form2)1 point -
MetroGUI UDF v5.1 - Windows 10 style buttons, toggles, radios, menu etc.
123disconnect reacted to BBs19 for a topic
I tested it multiple times, can't reproduce it. Maybe you can test the version i posted on the previous page. I am having the same problem right now I am using WM_NOTIFY but with the same result. It seems like spawning a GUI from registered messages causes a bug. I remember having the same problem with my TV-Show-Manager when I was working on it but it somehow worked suddenly, I don't know what the problem was. I will let you know when I figure it out.1 point -
help with pause and resume message display
prasad123 reacted to KickStarter15 for a topic
Or #include <MsgBoxConstants.au3> ; Press Esc to terminate script, Pause/Break to "pause" Global $Paused = False HotKeySet("{PAUSE}", "TogglePause") HotKeySet("{ESC}", "Terminate") While 1 Sleep(100) WEnd Func TogglePause() $Paused = Not $Paused While $Paused Sleep(100) $msg = MsgBox($MB_SYSTEMMODAL, "", "Script Paused!") If $msg = 1 Then MsgBox($MB_SYSTEMMODAL, "", "Script Resumed!") Exit EndIf WEnd EndFunc ;==>TogglePause Func Terminate() Exit EndFunc ;==>Terminate1 point -
Maybe something like: $Paused = False HotKeySet("{PAUSE}", "TogglePause") While 1 Sleep(10) Wend Func TogglePause() If $Paused Then $Paused = False MsgBox(32, "Result", "Program Resumed") ElseIf $Paused = False Then $Paused = True MsgBox(32, "Result", "Program Paused") EndIf While $Paused Sleep(10) WEnd EndFunc1 point
-
AutoIt Window Info
Bilgus reacted to Earthshine for a topic
maybe your large screen has a dead pixel?0 points