    Ϊҹֺ̼ͬ̽߱ڴرдƪĵ
ĵнĲԴԼע˵߼ûο
вִԴ硣
    This technical document is made to share information about programming. It contains some parts of source code and comments of this programme. This document might be only suitable for experienced users. Some of the following code is from Internet.

    DirectX޸V1.0ĿΪMicrosoft Visual Studio 2008ԣ
Visual Basic.NET Framework汾2.0ϵͳWindows 7 콢32λ
ԻWindows XP Home Edition(32 bit)Windows XP Professional Edition(32 bit)
Windows 7 콢(32 bit)Windows 7콢(64 bit)Windows 8 Pro(64 bit)
Windows 8.1 Pre(64 bit)Windows 10 pro (32 bit)Windows 10 pro (64 bit)
    The environments for developing DirectX Repair V1.0 are shown as following: Microsoft Visual Studio 2008; Language: Visual Basic; .NET Framework: 2.0; Development OS: Windows 7 Ultimate 32-bit; Tested OS: Windows XP Home Edition (32 bit), Windows XP Professional Edition (32 bit), Windows 7 Ultimate (32 bit), Windows 7 Ultimate (64 bit), Windows 8 Pro (64 bit), Windows 8.1 Pre (64 bit), Windows 10 pro (32bit), Windows 10 pro (64 bit).

---------------------------------------------------------------------------------------------------------------------

    еĲִ룺
    Some parts of source code:

1ϵͳ32λ64λ
1. To detect if this is a 32-bit OS or 64-bit OS.
	If Environment.GetEnvironmentVariable("PROCESSOR_ARCHITECTURE").IndexOf("64") <> -1 Then
             '64λϵͳ
        Else
             '32λϵͳ
        End If

2ϵͳ汾
2. To detect the version of the current OS.
	If Val(My.Computer.Info.OSVersion) < 6 Then
            'XP2000û.NETĲϵͳ
	Else
	    'VistaWin 7Դ.NETĲϵͳ
        End If

3ֹظС
3. To avoid re-running of the programme.
	Dim procName As String
        procName = System.Diagnostics.Process.GetCurrentProcess().ProcessName	
	If (System.Diagnostics.Process.GetProcessesByName(procName)).GetUpperBound(0) > 0 Then
            MsgBox("ѾУ", MsgBoxStyle.Critical)
            Me.Dispose()
            Exit Sub
        End If

4ȡϵͳ汾š
4. To acquire the system name and version information.
	My.Computer.Info.OSFullName & My.Computer.Info.OSVersion


5ϵͳDirectX Ϲߡ
5. To call the DirectX Diagnostic Tool from the OS.
	Shell("dxdiag.exe", AppWinStyle.NormalFocus)

6͵ʼ
6. To send the E-mail as a feedback.
	'дʼĵطȫɡmailд񡱵ĵطȫɡsmtp
        Please swap ʼ to mail, and swap  to smtp.
        '滻ԭǷֹĳЩɱΪǶ
        The reason for employing such replacement is to avoid being considered as malicious code by some anti-virus software.
        Dim  As New System.Net.ʼ.Client(".163.com", 25)
        .Credentials = New System.Net.NetworkCredential(//E-mail name//, //E-mail password//)
        Dim ʼ As New System.Net.ʼ.ʼMessage()
        ʼ.Subject = //Your subject//
        ʼ.SubjectEncoding = System.Text.Encoding.GetEncoding("GB2312")
        ʼ.BodyEncoding = System.Text.Encoding.GetEncoding("GB2312")
        ʼ.From = New System.Net.ʼ.ʼAddress(//Your E-mail address//)
        ʼ.Priority = System.Net.ʼ.ʼPriority.Normal
        ʼ.IsBodyHtml = True 'HTMLʽʼ,Ϊfalseʹı        
        ʼ.Body = //mail body// 'ʼ
        If Dir(//λ//) <> "" Then
            ʼ.Attachments.Add(New System.Net.ʼ.Attachment(//λ//)
        End If
        ʼ.To.Add(//ռ//)'ռ,ж,Զ
        .Send(ʼ)
        ʼ.Dispose()

7ٿرWindows7еAeroЧϵͳӲͬʱ֧AeroʱЧ
7. To activate or deactivate Aero in Windows 7 (only available when both the OS and hardware support this feature).
        Shell("sc.exe start uxsms") 'ٿAeroЧ
        Shell("sc.exe stop uxsms") 'ٹرAeroЧ

---------------------------------------------------------------------------------------------------------------------

    еı˼룺

1ΪʲôҪУ飿
    νУ飬ǼеļǷΪԭʼļ
    ϸĵ˿϶֣ᷢDataļдdllļЩDirectX޸ʱЩļΪ
ϵͳеļм޸бĵ˽滻Ϊжļ󷢲ϣû
У鹦ܵĻͻЩļΪ޸޸ɺϵͳ϶ȾˣΪ
ȫĽǶȳУ顣ֻҪ⵽˷ԭʼļͻֹͣ޸ʾУʧܡ
    õǿУ鷽ʽMD5У飬ҲǱȽϳõУ鷽ʽ֮һü鷽ʽŵǿԼļ΢Сȱ
ǶԴļУԭеϸﲻ׸

2ΪʲôĽ濴ȥܷḻ
    ҪӱƳ˵ˡ֮Ϊ˷ֽ׶εʹãĻǼԼ򵥡ࡣ
˵ļ򵥣ָǲļ򵥣ǹܼܲ򵥡ֻͻص㣬κ˿֡ʱϸƷζʱ
ֳֻᷢԶֹ޸DirectXô򵥡ϵͳеc++עϵͳdllļΪdllļҼ˵עж
ȹܻ˷ֳʵкܶǱд

3йڳаDirectX汾˵
    ڳ˵д˱DirectXʵϣ˳DirectX for Visual StudioеDirectX
ʹ˵ôдΪ˼ٶһûӰ졣֮ԱδDirectX for Visual StudioҪ濼ǣ
һЩʹõķǳ٣һûȫȥʹãӳӶȺ㣻ڶΪ
Visual StudioһԼֽ⣬Ҫĸջ濼Ƕơ