Sign in to follow this  
Followers 0
Bester

How to use alternative to CType in Autoit?/Important Windows updates

2 posts in this topic

Hello, 

i would like to ask for some help on how to write something like this in Autoit

If CType(update, WUApiLib.IUpdate3).BrowseOnly = True Then
    opt_updates = opt_updates + 1
 Else
    imp_updates = imp_updates + 1
 End If

I`m trying to find Important Windows updates only, but for some reason this code:

$ColNeeded = $objSearcher.Search("BrowseOnly=0 and IsInstalled=0 and IsHidden=0")

$update = $ColNeeded.Updates.Item($i - 1)

returns all update (important and optional) as important (even though BrowseOnly=0). I think i`m missing a reference to WUApi.DLL in my code but i couldn`t find anything else to help me :/

If someone could help me either by providing a Autoit alternative to 

CType(update, WUApiLib.IUpdate3).BrowseOnly = True

or another way to find only important Windows updates i would be very grateful.
Thank you

Share this post


Link to post
Share on other sites



If anybody else got this problem of "BrowsOnly=0" not working and would like to do find only important updates for Windows i came up with this solution.
Hope it`s going to help someone:

 

$obj_search = ObjCreate("Microsoft.Update.Searcher")
    $obj_search.ServerSelection = 2
    $obj_search.Online = True

    ;looking for updates
    $obj_result = $obj_search.Search("IsInstalled=0 and IsHidden=0") ;you can change this to something else (BrowsOnly=0 will not work)
    $obj_updates = $obj_result.Updates

    For $i = 0 To $obj_updates.Count - 1
        $obj_categories = $obj_updates.Item($i).Categories
        $s_Cat = ""
        $s_Cat = $obj_categories.Item(0).Name
        If $s_Cat <> "Updates" Or $s_Cat <> "Drivers" Or $s_Cat <> "Feature Packs" Then
            ;!!-- Important updates only --!!
            $array[0][0] += 1
            $array[$array[0][0]][0] = $obj_updates.Item($i).Title
            $array[$array[0][0]][1] = $s_Cat
            $array[$array[0][0]][2] = Round($obj_updates.Item($i).MaxDownloadSize / 1024)
            $array[$array[0][0]][3] = 1 ;to indicate important updates in array
        Else
            ;!!-- All Optional updates --!!
            $array[0][0] += 1
            $array[$array[0][0]][0] = $obj_updates.Item($i).Title
            $array[$array[0][0]][1] = $s_Cat
            $array[$array[0][0]][2] = Round($obj_updates.Item($i).MaxDownloadSize / 1024)
        EndIf

    Next
    ReDim $array[$array[0][0] + 1][5]

 

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

  • Similar Content

    • Valnurat
      By Valnurat
      I hope my title is good enough.
      I'm using the ADO UDF and I have question regarding editing SQL records with this UDF.
      The owner of the UDF suggested an idea, but maybe there is another trix.
    • Valnurat
      By Valnurat
      I have a SQL db. I would like to view the content in a control. Like a table. The control should have the option to show every 2nd line in another color. When you pick a "cell" it should pick the whole row. When you dobbelt click on the row another windows should popup with the content from the row.
      What view control can do that?
    • Valnurat
      By Valnurat
      How do I access a sql database for inserting and reading?
    • Valnurat
      By Valnurat
      I'm trying to get some info from dell.com page. I use a servicetag to find the computer. From the computerinfo I would like to get the "Shipping Date", but the date is on the next "cell".
      I have done this and I don't know if this is correct aproach, but I do get some info out.
      I just don't know how to "jump" to the next cell.
       
      #include <IE.au3> #include <MsgBoxConstants.au3> Local $oIE = _IECreate("http://www.dell.com/support/home/dk/da/dkbsdt1/product-support/servicetag/gnn5f12/configuration") Local $oTds = _IETagNameGetCollection($oIE, "td") Local $sTxt = "" For $oTd In $oTds $sTxt &= $oTd.innertext & @CRLF Next MsgBox($MB_SYSTEMMODAL, "Form Input Type", " Types :" & @CRLF & $sTxt) _IEQuit($oIE) I have seen something like this in VBscript
      Cell.NextSibling.NextSibling.innertext Is there someone who could help me.
       
    • srini
      By srini
      I am trying to automate the windows GUI application, in the main window of this application i have one gridview control in it, and when you click on the any row of the gridview separate windows will be opened based on the selection of the row. 
      we have our existing framework implemented using the core java,  i have used AutoITX4java.jar file to automate the above application. and controlCommandListView options used to click on grid view row item. nothing is working. 
      my question is AutoIT can be used/called directly from java file??? instead of using the AutoITX4java.jar file???
      AutoIT supports GridView automation??? like gridview count and gridivew row item click event automation ect...????
      Any help would be really appricate!!
      Thanks
      Srini
      srini20483@gmail.com