Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 11/24/2017 in all areas

  1. Hi, Enough of flogging the same old horse - it never, ever comes back to life. For the umpteenth time: AutoIt is Jon's project and the release of any new version depends on his willingness to take time away from getting food on his table and a roof over his head to do the required development work - just remind yourself that he makes absolutely nothing from you and all the others who use Autoit. The whole AutoIt project is a hobby for the non-existent "AutoIt coding team" and those of us who do help out both here in the forum and as core UDF maintainers do so as volunteers solely for the pleasure of helping others. If you want an IDE, debugger, etc then go ahead and code it yourself - or pay someone else to do so - as there is zero chance of seeing "official" versions. Thread closed. As indeed will be any future ones on this subject - because they all end up the same way with people demanding that their own personal coding requirements are provided free of charge by others. M23
    3 points
  2. Jos

    SCITE

    Maybe the space was missing behind the statement. Do "we/others" feel the same need that Tidy gets the option to copy the comments behind #cs/#comment-start to the #ce/#comment-end, similar to #region? Jos
    2 points
  3. argumentum

    _WinTrust.au3

    This UDF called my attention, tried it. Could not run it. Found a better version at https://www.autoitscript.com/forum/topic/161553-help-with-converting-c-to-autoit-a-dllcall-failes/?do=findComment&comment=1186579 PS: OP code, worked for me, the expanded later work, is the one I found to be better at the above link.
    2 points
  4. That is similar what I usually suggest to customers - lock everything down and then use SCCM. Publish applications that are free to use or low risk to the Application Catalog, and create an approval/escalation/chargeback system for the rest. The problem is most companies are stuck in the "but our teams want it now" mode of firefighting they can't or won't take the time to properly architect something that will ultimately ease their frustrations.
    2 points
  5. Create Free Style Text Anywhere... As many as you want! ...with Color and Animation! FreeText.au3 "Ver 2.5.2 " ; 11/26/2008, AutoIt Ver 3.2.12.0 Some of The Functions... Possibly The Best Example Yet ...eXPoSiTIoN... Demo Script... #include <FreeText.au3> ; ver 2.0.0 #include <Array.au3> ; FreeText.au3 - Demonstration Code - Horse Race HotKeySet("{ESC}", "Terminate") Func Terminate() Exit 0 EndFunc ;==>Terminate Dim $wait = 5 ; you can copy and paste the Functions _FreeText_Functions() ToolTip("Hit (ESC) to Exit", 1, 1, "FreeText", 1) ; $BGrnd = _FreeText_CreateBackGround("Random") Sleep($wait) $TextGUI = _FreeText_Create("Valuater") Sleep($wait) _FreeText_StairCase($TextGUI, -15) $GUI_Pos = _FreeText_GetPosition($TextGUI) _ArrayDisplay($GUI_Pos) Sleep($wait) $DPos = _FreeText_Scatter($TextGUI);, 200, 3, 100, 0) Sleep($wait) _FreeText_ColorStrobe($TextGUI) Sleep($wait) _FreeText_SetTrans($TextGUI, 20) Sleep($wait) _FreeText_SetPosition($TextGUI, $DPos) Sleep($wait) _FreeText_Move($TextGUI, 200, 200) Sleep($wait) _FreeText_Blink($TextGUI) Sleep($wait) _FreeText_SetTrans($TextGUI, 255) Sleep($wait) _FreeText_ColorStrobe($TextGUI) Sleep($wait) _FreeText_SetColor($TextGUI, "Red") Sleep($wait) _FreeText_StairCase($TextGUI) Sleep($wait) _FreeText_ShockWave($TextGUI) Sleep($wait) _FreeText_Bump($TextGUI) Sleep($wait) _FreeText_Move($TextGUI, 100, 100) Sleep($wait) $TextGUI2 = _FreeText_Create("Examiner", -1, -1, 30) Sleep($wait) _FreeText_Animate($TextGUI2, 2) Sleep($wait) _FreeText_Animate($TextGUI2, 7) Sleep($wait) _FreeText_ColorStrobe($TextGUI2) Sleep($wait) _FreeText_Animate($TextGUI2, 6) Sleep($wait) $thanks = _FreeText_Create("ENJOY! 8)", 300, -1, 30) Sleep($wait) _FreeText_ColorStrobe($thanks) Sleep($wait * 3)Tested Autoit ver 3.2.12.0 ENJOY!!! Valuater 8)
    1 point
  6. * Your buttons in the video have a name as i see in inspect.exe that it shows the text values and as such you should be able to find them by name with th uiawrapper udf * Your rectangles I would make a small wrapper that you can click relative in percentage either from desktopsize or windowsize testpercentagemove("50%","50%") func testpercentagemove($x,$y) if stringinstr($x,"%") Then $realX=stringreplace($x,"%","") * (@DesktopWidth / 100) $realy=stringreplace($y,"%","") * (@DesktopHeight / 100) mousemove($realX ,$realy) EndIf EndFunc * And to handle above I normally would give something a logical name array/collection in between with a little more logic around it logicalname["triangle1"]="50%,50%" * falling back to findbmp udf or solution(s) like SikuliX I allmost never use as percentages with logical names keep things maintainable (and fast) enough * I can mention a lot of commercial tools but I doubt if any of them are easy in bitmap recognition most fallback on the tesseract engine or similar ones
    1 point
  7. Then the reason it probably crashed without admin rights is because flash player, being a third party application and not a windows update, would need admin rights in order to install.
    1 point
  8. Nothing can prevent shutdown for one reason - The user can cut the power to the computer. If you are trying to push a package to the PC - it would be best to have the package install in the background while the user is using the computer. There are many resources that explain how to do it. Google is your friend.
    1 point
  9. The solution to this is here:
    1 point
  10. You're sure there was no other thread with a similar question in our forums when you searched? Jos
    1 point
  11. 1 point
  12. Bad rep added : How to prevent static AV detection ? posted just a few days ago : https://threatpost.com/autoit-scripting-used-by-overlay-malware-to-bypass-av-detection/128845/
    1 point
  13. Nothing really to do with the core AutoIT programming language. I'm sure I could come up with some nice to have's but nothing that is an absolute need. I've been using AutoIT since early 2000's and I still haven't touched 80% of the features so I just assume if there's something that I suddenly want it to do, it's probably already got a UDF. Plus, if there isn't a UDF that does what I want then I write one and add it to my ever expanding library. But there are two areas that I personally wish the AutoIT coding team would take on and that is developing a standalone AutoIT IDE that contains the features of a commercial IDE. It would include the custom features developed for AutoIT code that are built into Scite as well as a true debugger with the ability to walk through lines of code, set breakpoints, create a watchlist of variables, etc. The other would be a Forms development tool that would be integrated into the IDE for the creation of forms. The only reason I'm suggesting this is that while it appeared that some significant progress was made on some standalone apps (i.e. Koda, dbug, AutoIT Debug) the last versions released are from years ago. In the case of Koda the last version I've seen was released in 2010. It generally works but it's quirky. I came across an app called DBUG a few months ago. It looked it hadn't been updated in recent years. From the documentation and looking at the code it was supposed to have the ability to step through lines of code but I could not get it to work. I didn't realize until today that there's an AutoIT include file called Debug.au3. After looking at and then running the example I'm not sure it will do what I want it to do, which is being able to step through code one line at a time and be able to view specific variable values from a specific script. After I get off her I plan on doing some additional searching to see if I can find some pictures or maybe a YouTube video that expands on the Debug help. The problem with using some of these programs or investing time and energy into learning them is that they are developed externally and none of these niche products seem to make it to universal or mainstream use. I understand, life happens and the need to make money outweighs hobby development. But, if the AutoIT coding team took ownership of developing a branded AutoIT IDE and AutoIt Forms Builder then I think there's a better chance that those two applications would, at least, be completed, and any addtional development would continue. Thanks, O.G.W.
    1 point
  14. According to the help file:
    1 point
  15. Hello. This is enough. $a=null Saludos
    1 point
  16. Well I'm happy to hear I've included an example with mouse hook. I know it's basically the same principle, but at least I've added the struct for you #include <WindowsConstants.au3> #include <WinAPI.au3> Opt("GuiOnEventMode", 1) $hWnd = GUICreate("", 700, 320) GUISetOnEvent(-3, "_MyExit", $hWnd) $hLowLevelMouseProc = DllCallbackRegister("LowLevelMouseProc", ( ( (@OSArch="IA64") Or (@OSArch="X64") )? "INT64" : "LONG" ), "INT;DWORD;DWORD") $hMod = _WinAPI_GetModuleHandle(0) $hHook = _WinAPI_SetWindowsHookEx($WH_MOUSE_LL, DllCallbackGetPtr($hLowLevelMouseProc), $hMod) GUISetState() While 1 Sleep(10) WEnd Func LowLevelMouseProc($nCode, $wParam, $lParam) Local $tagMSLLHOOKSTRUCT = "STRUCT;LONG X;LONG Y;ENDSTRUCT;DWORD mouseData;DWORD flags;DWORD time;"&( ( (@OSArch="IA64") Or (@OSArch="X64") )? "UINT64" : "UINT" )&" dwExtraInfo" $tMSLLHOOKSTRUCT = DllStructCreate($tagMSLLHOOKSTRUCT, $lParam) ConsoleWrite("LowLevelMouseProc"&@CRLF&@TAB&"$nCode: "&$nCode&@CRLF&@TAB&"$wParam: "&$wParam&@CRLF&@TAB&"$lParam: "&$lParam&@CRLF) ConsoleWrite(@TAB&"X: "&$tMSLLHOOKSTRUCT.X&@CRLF&@TAB&"Y: "&$tMSLLHOOKSTRUCT.Y&@CRLF) Return _WinAPI_CallNextHookEx($hHook, $nCode, $wParam, $lParam) EndFunc Func _MyExit() _WinAPI_UnhookWindowsHookEx($hHook) DllCallbackFree($hLowLevelMouseProc) Exit EndFunc with this you can get notified whenever a move or click is being done. this combined with something like _WinAPI_WindowFromPoint and/or _WinAPI_GetClassName. Then you could match for [CLASS:Windows.UI.Core.CoreWindow] (the start menu in windows 10) and if true check position. Just a suggestion ^^ You can read more about the information from the hook here: SetWindowsHookEx function, here: LowLevelMouseProc callback function and here: MSLLHOOKSTRUCT structure
    1 point
  17. Version 0.0.8

    902 downloads

    Simple UDF for creating animations in GDI+ If you want to see more "experimental" features, go to GitHub.
    1 point
  18. guinness

    Associative array UDF

    AutoIt beta help file! #AutoIt3Wrapper_Au3Check_Parameters=-q -d -w- 3 -w- 6 ; already declared var=off , warn when using Dim=off #include <Constants.au3> Dim $vVariableThatIsGlobal = "This is a variable that has ""Program Scope"" aka Global." MsgBox($MB_SYSTEMMODAL, "", "An example of why Dim can cause more problems than solve them.") Example() Func Example() ; That looks alright to me as it displays the following text: This is a variable that has "Program Scope" aka Global. MsgBox($MB_SYSTEMMODAL, "", $vVariableThatIsGlobal) ; Call some random function. Local $vReturn = SomeFunc() ; The Global variable ($vVariableThatIsGlobal) changed because I totally forgot I had a duplicate variable name in "SomeFunc". MsgBox($MB_SYSTEMMODAL, $vReturn, "The variable has now changed: " & $vVariableThatIsGlobal) EndFunc ;==>Example Func SomeFunc() ; This should create a variable in Local scope if the variable name doesn"t already exist. ; For argument sake I totally forgot that I declared a variable already with the same name. ; Well I only want this to be changed in the function and not the variable at the top of the script. ; Should be OK right? Think again. Dim $vVariableThatIsGlobal = "" For $i = 1 To 10 $vVariableThatIsGlobal &= $i ; This will return 12345678910 totally wiping the previous contents of $vVariableThatIsGlobal. Next Return $vVariableThatIsGlobal EndFunc ;==>SomeFunc
    1 point
  19. drac

    Keep that RDP session alive

    Thanks for the tip. I just needed to send some mouse movements to specific remote desktop window, so here's the code: #Include <WinAPI.au3> #Include <SendMessage.au3> $WM_SETFOCUS = 0x007 $WM_MOUSEMOVE = 0x200 If $CmdLine[0] = 0 Then MsgBox(0, "Error", "Please enter server name as command line parameter.") Exit Else $sName = $CmdLine[1] Endif $title = $sName & " - Remote Desktop" $hWnd = WinGetHandle($title) If $hWnd = 0 Then MsgBox(0, "Error", "Cannot find Remote Desktop Window for server " & $sName) Exit Else MsgBox(0, "hWnd", "Sending mouse movements to " & $title & " (" & $hWnd & ")" ) Endif while 1 ;MsgBox(0, "sending mouse move to", $hWnd) _SendMessage($hWnd, $WM_SETFOCUS) _WinAPI_PostMessage($hWnd, $WM_MOUSEMOVE, 0, 0) Sleep(60000) WEnd
    1 point
×
×
  • Create New...