Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 02/22/2017 in all areas

  1. water

    AD - Active Directory UDF

    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 effort
    1 point
  2. 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
  3. 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
  4. 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
  5. Hopefully this isn't for game automation? <Snip>
    1 point
  6. Subz

    Control Browser

    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
  7. 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) EndIf
    1 point
  8. j0kky

    STUN UDF

    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
×
×
  • Create New...