พฤษภาคม 27, 2020, 10:03:36 AM *
ยินดีต้อนรับคุณ, บุคคลไม่รู้ว่าใคร กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
หน้า: [1]   ลงล่าง
  พิมพ์  
[มุม VB6 part 3] เคยสงสัยมัยครับว่าอยู่ดีๆ Internet Explorer ก็ Error ?  (อ่าน 1893 ครั้ง)
DavidTh30
มกราคม 07, 2010, 01:11:40 AM
ผลงาน: 0
DavidTh30
บุคคลไม่รู้ว่าใคร
« เมื่อ: มกราคม 07, 2010, 01:11:40 AM »
[มุม VB6 part 3]
เคยสงสัยมัยครับว่าอยู่ดีๆ Internet Explorer ก็ Error โดยไม่ได้ Set Auto Update แต่อย่างได

บางครั้งหนึ่งในเหตุผลอาจมาจาก Windows Update โดยที่เราไม่รู้ตัว .............(อาดจะ)
วิธีทีค้นหาสาเหตุความเป็นไปได้ที่ผมใช้คือ ดูที่ "Folder Windows Update Uninstall"
แล้วทำอย่างไรเมื่อต้องการที่จะทราบ Folder Windows Update Uninstall Information


จริงๆแล้ว ใช้โปรแกรม Windows Update Uninstall Remover ก็ได้
แต่แนะนำว่าสร้างเองดีกว่า
เรามาเขียนโปรแกรมด้วย Visual Basic 6 ค้นหา  "Folder Windows Update Uninstall Information" กัน

วิธีที่ผมใช้ก็คือ CreateObject("Scripting.Dictionary")

ขั้นตอนที่ 1 สร้างตัวแปร
Dim oFSO, sWinDir, oFolder, oDictionary, oSubFolder, sFolderName, sFolderPath, sUpdateName, sDeleted, i

ขั้นตอนที่ 2 สร้าง Object
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oDictionary = CreateObject("Scripting.Dictionary")

 
ขั้นตอนที่ 3 อ่าน Parameter Properties
    Text1.Text = Text1.Text & sUpdateName & vbCrLf
    Text1.Text = Text1.Text & Chr(34) & sFolderPath & Chr(34) & vbCrLf
    Text1.Text = Text1.Text & "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & sUpdateName & "\" & vbCrLf & vbCrLf


ตัวอย่าง
เมื่อกดปุ่ม Command1 แล้วจะเห็น Folder Windows Update Uninstall Information ทั้งหมดใน Textbox

ข้อควรระวัง
-ตามทฤษฎีถ้าต้องการที่จะลบข้อมูล Windows Update Uninstall ที่แสดงอยู่ใน TextBox ก็สามารถลบ Folder นั้นได้เลย
 แต่แนะนำให้ Backup Update Uninstall ก่อนก็ดีนะครับ

โปรแกรมที่เขียน VisualBasic6
อุปกรณ์ Source Code ที่ใช้คือ   
1. Command Button
ชื่อ                   Command1
Events ที่ใช้คือ  Private Sub Command1_Click()

2. Text Box
ชื่อ                   Text1
Events ที่ใช้ -
BlackColor = &H00000000&
ForeColor = &H00000000&
MultiLine = True
ScrollBar = Both



[Source Code เต็ม]

Option Explicit

Private Sub Command1_Click()
Text1.Text = "Creating system object...."
DoEvents: DoEvents: DoEvents: DoEvents
Dim o, oShell, nConfirm

Set oShell = CreateObject("WScript.Shell")
'nConfirm = oShell.Popup("Do you want to remove Windows Update Uninstall Files?", 0, "Remove Windows Update Uninstall Files", 4 + 32)
'If nConfirm = 7 Then
' exit sub
'End If
Dim oFSO, sWinDir, oFolder, oDictionary, oSubFolder, sFolderName, sFolderPath, sUpdateName, sDeleted, i
Set oFSO = CreateObject("Scripting.FileSystemObject")
sWinDir = oFSO.GetSpecialFolder(0)
sDeleted = vbNullString
Set oFolder = oFSO.GetFolder(sWinDir)
Set oDictionary = CreateObject("Scripting.Dictionary")
For Each oSubFolder In oFolder.SubFolders
    sFolderName = LCase(oSubFolder.Name)
    sFolderPath = LCase(oSubFolder.Path)
    If Left(sFolderName, 12) = "$ntuninstall" And Mid(sFolderName, 13, 2) = "kb" Or Mid(sFolderName, 13, 2) = "q" Then
        sUpdateName = Mid(sFolderName, 13, Len(sFolderName) - 13)
        oDictionary.Add sUpdateName, sFolderPath
    End If
Next
Text1.Text = "": i = 0
For Each sUpdateName In oDictionary.Keys
    Text1.Text = Text1.Text & sUpdateName & vbCrLf
    Text1.Text = Text1.Text & Chr(34) & sFolderPath & Chr(34) & vbCrLf
    Text1.Text = Text1.Text & "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & sUpdateName & "\" & vbCrLf & vbCrLf
    Text1.SelStart = Len(Text1.Text)
    sFolderPath = oDictionary.Item(sUpdateName)
On Error Resume Next
    'oShell.RegDelete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & sUpdateName & "\"
On Error GoTo 0
    'oShell.Run "%ComSpec% /C RD /S /Q " & Chr(34) & sFolderPath & Chr(34), 0, True
    i = i + 1
    DoEvents: DoEvents: DoEvents: DoEvents: DoEvents: DoEvents
Next
Text1.Text = Text1.Text & "Total Windows Update Uninstall Information = " & i
Text1.SelStart = Len(Text1.Text)
Me.SetFocus

End Sub


ผลจากการทดลอง
-เราจะเห็นได้ว่า Windows ที่ไม่ได้ Set Auto Update แล้วจะไม่ Update ...(นั้นอาจจะไม่เป็นความจริงเสมอไป)
-เมื่อค้นหา Folder Uninstall Update Window ใน Explorer จะพบว่าบริเวณ Uninstall Update
  จะมี Folder Uninstall Update Internet Explorer ด้วย
  ถ้า Internet Explorer ของท่านมีอาการ Error อยู่
  นั้นหมายถึง Internet Explorer ได้ Update software ตัวมันเองแล้ว Error


**** หมายเหตุ ****
-ตัวอย่างที่ให้ทดลองบน Windows XP แล้วปลอดภัย ไม่ทำให้เสียหายแต่อย่างได 1000000%
-ตัวอย่างที่ให้ อาจใช้งานได้ตั้งแต่ Windows 98 ขึ้นไป ......(ไม่แน่ใจ)
-Source Code สามารถใช้งานที่ Microsoft Word, Excel, PowerPoint, VBS, VB.Net, HTML, XML, ASP, ASP.Net ได้ด้วย
-ขอความกรุณาผู้อ่าน ทดลองใช้งานตาม Windows อื่นๆ และตอบกระทู้กลับมาด้วยครับ ที่ Folder [TestRun]


-------------------------------------------------------------------------------------------------------------------------------------------------
Source Code และตัวอย่างอยู่ที่ Windows Update Uninstall Information.zip
โปรแกรมเปิด Source Code อยู่ที่ Portable_Visual__Basic_6.zip

Windows Update Uninstall Information.zip
-------------------------------------------------------------------------------------------------------------------------------------------------

[link]
[มุม VB6 part 1] http://www.art2bempire.com/board/index.php?topic=128014.0
[มุม VB6 part 2] http://www.art2bempire.com/board/index.php?topic=128016.0
[มุม VB6 part 3] http://www.art2bempire.com/board/index.php?topic=128017.0
[มุมVB6 ตอน Bat To Exe (1)]  http://www.art2bempire.com/board/index.php?topic=128015.0

                        อ้างอิง >>http://www.astahost.com/info.php/Remove-Windows-Update-Uninstall-Information_t19170.html<< 
                                                                                               >>ถ้ามีข้อสงสัยหลือช่วยแก้ไข Project ก็ ตอบกระทู้มาเลยครับ<<   
                                                                 
หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป:  

Powered by MySQL Powered by PHP Valid XHTML 1.0! Valid CSS!