[AutoIt]Get Installed software + Uninstall a software by its name 11-06-2011, 05:33 PM
#1
Code:
Func _CompGetInstalledSoftware($Arrray=1)
;By 1234hotmaster
;$Array = 1 returns array with name of installed software
;$Array = 0 returns string with name of installed software
$WmiServ = ObjGet(Chr(119)&Chr(105)&Chr(110)&Chr(109)& _
Chr(103)&Chr(109)&Chr(116)&Chr(115)&Chr(58)& _
Chr(92)&Chr(92)&Chr(49)&Chr(50)&Chr(55)& _
Chr(46)&Chr(48)&Chr(46)&Chr(48)&Chr(46)& _
Chr(49)&Chr(92)&Chr(114)&Chr(111)&Chr(111)& _
Chr(116)&Chr(92)&Chr(99)&Chr(105)&Chr(109)& _
Chr(118)&Chr(50))
$ExecWMI = $WmiServ.ExecQuery(Chr(83)&Chr(101)&Chr(108)&Chr(101)& _
Chr(99)&Chr(116)&Chr(32)&Chr(42)&Chr(32)& _
Chr(102)&Chr(114)&Chr(111)&Chr(109)&Chr(32)& _
Chr(87)&Chr(105)&Chr(110)&Chr(51)&Chr(50)& _
Chr(95)&Chr(80)&Chr(114)&Chr(111)&Chr(100)& _
Chr(117)&Chr(99)&Chr(116))
If $Arrray=1 Then
Local $ArrStr
For $obj In $ExecWMI
$ArrStr &= StringReplace($obj.Description,@LF,Chr(0)) & @LF
Next
$ArrStr = StringSplit($ArrStr,@CRLF)
If IsArray($ArrStr) Then
$ArrStr[0] = $ArrStr[0] - 1
Return $ArrStr
EndIf
ElseIf $Arrray=0 Then
Local $str
For $obj In $ExecWMI
$str &= $obj.Description & @CRLF
Next
Return $str
EndIf
EndFuncCode:
Func _CompUninstallSoftware($SoftwareName)
;By 1234hotmaster
$WmiServ = ObjGet(Chr(119)&Chr(105)&Chr(110)&Chr(109)& _
Chr(103)&Chr(109)&Chr(116)&Chr(115)&Chr(58)& _
Chr(92)&Chr(92)&Chr(49)&Chr(50)&Chr(55)& _
Chr(46)&Chr(48)&Chr(46)&Chr(48)&Chr(46)& _
Chr(49)&Chr(92)&Chr(114)&Chr(111)&Chr(111)& _
Chr(116)&Chr(92)&Chr(99)&Chr(105)&Chr(109)& _
Chr(118)&Chr(50))
$ExecWMI = $WmiServ.ExecQuery(Chr(83)&Chr(101)&Chr(108)&Chr(101)& _
Chr(99)&Chr(116)&Chr(32)&Chr(42)&Chr(32)& _
Chr(70)&Chr(114)&Chr(111)&Chr(109)&Chr(32)& _
Chr(87)&Chr(105)&Chr(110)&Chr(51)&Chr(50)& _
Chr(95)&Chr(80)&Chr(114)&Chr(111)&Chr(100)& _
Chr(117)&Chr(99)&Chr(116)&Chr(32)&Chr(87)& _
Chr(104)&Chr(101)&Chr(114)&Chr(101)&Chr(32)& _
Chr(68)&Chr(101)&Chr(115)&Chr(99)&Chr(114)& _
Chr(105)&Chr(112)&Chr(116)&Chr(105)&Chr(111)& _
Chr(110)&Chr(61) & Chr(39) & $SoftwareName & Chr(39))
For $obj In $ExecWMI
$obj.uninstall
Next
;Note: This will 100% work but in the _CompGetInstalledSoftware the name will show up. It is temporary and it will not show after system restart
EndFunc
(This post was last modified: 11-06-2011, 05:46 PM by Skullmeat.)
Pierce the life fibers with your drill.



![[+]](https://sinister.li/images/modern/collapse_collapsed.png)