• 文件: 技术文档.txt
  • Full Path: /www/wwwroot/8.148.78.63/li/MC/工具/安装包/02.dll修复工具/DirectX_Repair/技术文档.txt
  • Date Modified: 12/14/2025 7:50 AM
  • 文件大小: 10.65 KB
  • MIME类型: --
  • 编码格式: 8 bit
    :NNN'Y[qQTcTcؚzb/g(Wdkbyr+RQNُ{b/gech0

,gech-N\S+T,gz^vRnNxNSlʑfNOؚ~(u7bS0

vQ-NRNxegnNQ~0

    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.



    DirectXO
Y]wQV1.0Hrv_SsX:NMicrosoft Visual Studio 2008_S

Visual Basic.NET FrameworkHr,g2.0_S|~Windows 7 e0Hr32MO0

KmՋsXWindows XP Home Edition(32 bit)0Windows XP Professional Edition(32 bit)0

Windows 7 e0Hr(32 bit)0Windows 7e0Hr(64 bit)0Windows 8 Pro(64 bit)0

Windows 8.1 Pre(64 bit)0Windows 10 pro (32 bit)0Windows 10 pro (64 bit)0

    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).



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



    z^-NvRNx

    Some parts of source code:



10hKmd\O|~Hr,g0

1. To detect the version of the current OS.

	If Val(My.Computer.Info.OSVersion) < 6 Then

            'XP02000I{l	g.NETvd\O|~

	Else

	    'Vista0Win 7I{&^.NETvd\O|~

        End If



202bkz^͑
YЏL0

2. 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("z^]~(WЏL", MsgBoxStyle.Critical)

            Me.Dispose()

            Exit Sub

        End If



30Sd\O|~
TSHr,gS0

3. To acquire the system name and version information.

	My.Computer.Info.OSFullName & My.Computer.Info.OSVersion





40(u|~vDirectX ʋe]wQ0

4. To call the DirectX Diagnostic Tool from the OS.

	Shell("dxdiag.exe", AppWinStyle.NormalFocus)



50S5uP[N0

5. To send the E-mail as a feedback.

	'bNb@b	gQ N v0WehQbcb mail @b	gQ 
gR v0WehQbcb smtp 

         Please swap "N" to "mail", and swap "
gR" to "smtp".

        'ۏL
NfbcvSV/f2bkgN@gkoN\NNx:N/fv`az^0

         The reason for making such replacements is to avoid being considered as malicious code by some anti-virus software.

        Dim 
gR As New System.Net.N.
gRClient("
gR.163.com", 25)

        
gR.Credentials = New System.Net.NetworkCredential(//E-mail name//, //E-mail password//)

        Dim N As New System.Net.N.NMessage()

        N.Subject = //Your subject//

        N.SubjectEncoding = System.Text.Encoding.GetEncoding("GB2312")

        N.BodyEncoding = System.Text.Encoding.GetEncoding("GB2312")

        N.From = New System.Net.N.NAddress(//Your E-mail address//)

        N.Priority = System.Net.N.NPriority.Normal

        N.IsBodyHtml = True 'HTML<h_vN,:NfalseRS~e,g{        

        N.Body = //mail body// 'NQ[

        If Dir(//DNMOn//) <> "" Then

            N.Attachments.Add(New System.Net.N.Attachment(//DNMOn//)

        End If

        N.To.Add(//6eNN//)'mR6eNN,Yg	gY*N,SNY!kmR

        
gR.Send(N)

        N.Dispose()



60__/T0sQWindows7-NvAeroyrHe|~TlxN_{Te/ecAeroeMb	gHe	0

6. To activate or deactivate Aero in Windows 7 (only available when both the OS and hardware support this feature).

        Shell("sc.exe start uxsms") '__/TAeroyrHe

        Shell("sc.exe stop uxsms") '_sQAeroyrHe



70z^SNQWindows80Windows8.10Windows10|~Hr,gS(Wapp.manifesteN-NmRYNNx	0

7. Let the programme read OS version numbers in Windows 8 OS, Windows 8.1 OS, and Windows 10 OS (The code below should be added to app.manifest).

	<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">

    		<application>

      		 <!-- Windows 10 -->

      	 	 <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>

      		 <!-- Windows 8.1 -->

      		 <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>

      		 <!-- Windows Vista -->

      		 <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>

      		 <!-- Windows 7 -->

      	 	 <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>

      	 	 <!-- Windows 8 -->

      	 	 <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>

    		</application>

  	</compatibility>

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



    z^-Nvz``



10:NNHNnb!h

    @bvb!h1\/fhgz^-NveN/f&T:NSYveN0

    ~_vN[OSsz^DataeN9YN	g'YϑvdlleNُN/fDirectXv~N0z^O
Ye1\/fNُNeN:N݄,g[

|~-NveNۏLhKmTO
Y0Yg	g+R	g(u_vN\vQfbc:N	gu	gv`aNxveNTS^0RQ
NGPYz^l	gb

!hRv݋z^1\ONُN	gveN:N݄,gۏLO
YO
Y[bT|~[OQsuaguk0Vdk,g@w:N(u

7b[hQv҉^QSz^nNb!h0ُ7hSz^hKm0RN^SYeN1\O\PbkO
Yc:yb!h1Y%0

    z^-N(uv:_!he_/fMD5!h_N/fk8^(uv!he_KNN0he_vOp/fSNhKmQeNv_\]+R:p

/f['YeN!hba0wQSOvStSz^-Nv~ُ̑
NQX0



20:NNHNz^vLubw
NS
N_0N[

    ُ1\N,goNvRwwN0,goNvKNR:NNeOTy6kvNO(uVdkoNvW1\/f{~0{US0{m0


Nv{UScv/fd\Ov{USFO/fR
N{US0S	gُ7hMbzQ͑peONUON_
NKb0S_`O	geN~TsTe

`OSOSsz^܏
NbkNNO
YDirectXHN{US0fe|~-Nvc++lQ|~-N@b	gdlleN:NdlleNS.܃USmRlQTxS}

yI{RONSsz^vQ[؏	g_Y\oR	g_Sc0



30	gsQNz^-NS+TvDirectXHr,gvf0

    (Wz^f̑QN,gz^S+T[tevDirectX~NN[
N,gz^S+TNdDirectX for Visual StudioYvQN@b	gvDirectX

~N(WO(uf̑HNQ/f:NNQ\[N,(u7bvq_T0KN@bN,gz^*gS+TDirectX for Visual Studio;N	g$NebQ

,{NُN~NO(uv^8^\N,(u7b[hQ
NOSO(uYgS+T[SXRz^
YBg^TSOyv^
NR{,{Nb:NO(u

Visual StudiovNN[	gR]RKb㉳Q
N,goNvR0,gz^g~WN
N$NebQ0