Leaderboard
Popular Content
Showing content with the highest reputation on 02/22/2017 in all areas
-
Version 1.6.3.0
17,301 downloads
Extensive library to control and manipulate Microsoft Active Directory. Threads: Development - General Help & Support - Example Scripts - Wiki Previous downloads: 30467 Known Bugs: (last changed: 2020-10-05) None Things to come: (last changed: 2020-07-21) None BTW: If you like this UDF please click the "I like this" button. This tells me where to next put my development effort1 point -
[Solved] Why do I keep losing the count on my variable?
SkysLastChance reacted to water for a topic
I can only guess: Maybe one of the UDFs uses $r. I would replace $r with a meaningful name like $iNumberOf Rows and try again.1 point -
It's not easy to answer because it depends of the complexity of the queries (as said JCHD). The following expression returns True : If (1=1 Or 2=3) And 4=4 Apparently you don't need to know that 2=3 is False because the whole condition returns True. If you want to check each condition before execution, I would do that : ;~ Upgrade older versions are present [Upgrade Software Name] SWQuery = (%Qry01% Or %Qry02% Or %Qry03%) And %Qry04% ;~ New Install no other versions are present [Install Software Name] SWQuery = (%Qry01% Or %Qry02% Or %Qry03%) And %Qry04% [Queries] Qry01 = RegRead('HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\{Guid}.01', 'DisplayVersion') = '' Qry02 = RegRead('HKLM64\Software\Microsoft\Windows\CurrentVersion\Uninstall\{Guid}.01', 'DisplayVersion') = '' Qry03 = RegRead('HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\{Guid}.02', 'DisplayVersion') = '' Qry04 = @OSArch = 'x64' ;~ #Include <Array.au3> Local $sSWQueryUpdate = IniRead("test.ini", "Upgrade Software Name", "SWQuery", "error") Local $sSWQueryInstall = IniRead("test.ini", "Install Software Name", "SWQuery", "error") $aSWQueryUpdate = StringRegExp($sSWQueryUpdate, "%([^%]+)%", 3) ; extract the query's variables Local $sSWQueryUpdateBoolean = $sSWQueryUpdate ;~ _ArrayDisplay($aSWQueryUpdate) For $i = 0 To UBound($aSWQueryUpdate) - 1 $sCondition = IniRead("test.ini", "Queries", $aSWQueryUpdate[$i], "error") ; read the condition $vRes = Execute($sCondition) ? True : False ; executes the condition $sSWQueryUpdateBoolean = StringRegExpReplace($sSWQueryUpdateBoolean, "%" & $aSWQueryUpdate[$i] & "%", $vRes) ; replace each query by its result ConsoleWrite("Condition " & $aSWQueryUpdate[$i] & " : " & ($vRes ? "SUCCESS" : "FAILURE") & @CRLF ) Next ConsoleWrite($sSWQueryUpdateBoolean & @CRLF) ; Boolean condition $iRes = Execute($sSWQueryUpdateBoolean) ConsoleWrite("Result : " & $iRes)1 point
-
Need help on binding multiple keys to one while script is running
CaptainDank reacted to JLogan3o13 for a topic
It matters because the forum rules clearly state that we will not support: Not sure why people believe they are the exception to this rule. @Subz here's a thought, if you suspect rule-breaking behavior in the future, ask before providing a suggestion.1 point -
Need help on binding multiple keys to one while script is running
CaptainDank reacted to Subz for a topic
Hopefully this isn't for game automation? <Snip>1 point -
What I have found is try and use IECreate with attach or IEAttach so it doesn't create new instances helps. You could use something like While _IEPropertyGet($oIE, 'Busy') Sleep(50) Wend Or look for something else on the page in the page properties to see when to move to the next action. Hope that helps.1 point
-
In Windows 10 you need to use PowerShell as the verb method no longer works: nb1: Shortcuts need to exist of course and should be in %AllUsersProfile% Start Menu nb2: In Windows 10 1607/2016 you can also add Task Bar menu items (The XML code below is for Windows 10 1607) nb3: This adds the shorcuts for all "New Users" only. Start Menu/TaskBar Example File <?xml version="1.0" encoding="utf-8"?> <LayoutModificationTemplate xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification" xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" xmlns:taskbar="http://schemas.microsoft.com/Start/2014/TaskbarLayout" Version="1"> <LayoutOptions StartTileGroupsColumnCount="1" /> <DefaultLayoutOverride> <StartLayoutCollection> <defaultlayout:StartLayout GroupCellWidth="6" xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout"> <start:Group Name="Items" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout"> <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Microsoft Office 2013\Outlook 2013.lnk" /> <start:DesktopApplicationTile Size="2x2" Column="2" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Microsoft Office 2013\PowerPoint 2013.lnk" /> <start:DesktopApplicationTile Size="2x2" Column="0" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Microsoft Office 2013\Excel 2013.lnk" /> <start:DesktopApplicationTile Size="2x2" Column="4" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Microsoft Office 2013\Word 2013.lnk" /> <start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Microsoft Office 2013\Skype for Business 2015.lnk" /> <start:DesktopApplicationTile Size="2x2" Column="2" Row="4" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Google Chrome.lnk" /> </start:Group> </defaultlayout:StartLayout> </StartLayoutCollection> </DefaultLayoutOverride> <CustomTaskbarLayoutCollection PinListPlacement="Replace"> <defaultlayout:TaskbarLayout> <taskbar:TaskbarPinList> <taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Microsoft Office 2013\Excel 2013.lnk" /> <taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Microsoft Office 2013\Outlook 2013.lnk" /> <taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Microsoft Office 2013\PowerPoint 2013.lnk" /> <taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Microsoft Office 2013\Word 2013.lnk" /> <taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Google Chrome.lnk" /> </taskbar:TaskbarPinList> </defaultlayout:TaskbarLayout> </CustomTaskbarLayoutCollection> </LayoutModificationTemplate> Power Shell Command in Autoit $hXML_STARTMENU = @ScriptDir & '\StartMenu.xml' If @OSArch = 'x64' Then DllCall("kernel32.dll", "boolean", "Wow64DisableWow64FsRedirection", "boolean", 1) ;~ Turns On 64 Bit Redirection RunWait('@ComSpec@ /c Powershell.exe -command "& {Import-StartLayout –LayoutPath $hXML_STARTMENU$ -MountPath $env:SystemDrive\}"', '@WindowsDir@\System32', @SW_HIDE) DllCall("kernel32.dll", "boolean", "Wow64DisableWow64FsRedirection", "boolean", 0) ;~ Turns Off 64 Bit Redirection Else RunWait('@ComSpec@ /c Powershell.exe -command "& {Import-StartLayout –LayoutPath $hXML_STARTMENU$ -MountPath $env:SystemDrive\}"', @SystemDir, @SW_HIDE) EndIf1 point
-
Short story: No! That script just uses STUN protocol to retrieve public IPv4 IP. Long story: thanks to the implementation of winsock UDF I can retrieve the external port too, which is necessary to UDP Hole Punching; furthermore my UDF can parse XOR-MAPPED-ADDRESS attribute (used by newest STUN servers) and it can retrieve also IPv6 address (trancexx script needs some other code lines to parse IPv6). Other minor advantages are the possibility of using a customized STUN server name and a strongest error handling.1 point