�� :N�NN'Y�[qQ T�c���T�cؚ z�b/g �(Wdkbyr+R�Q�Nُ�{�b/g�ech0 ,g�ech-N\S+T,g z�^�v�R�n�Nx�N�S�lʑ�f ��N�Oؚ�~(u7b�S�0 vQ-N�R�Nxeg�n�NQ�~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. DirectX�O Y�]wQV1.0Hr�v_�S�s�X:N�Microsoft Visual Studio 2008 �_�S��� Visual Basic �.NET FrameworkHr,g�2.0 �_�S�|�~�Windows 7 �e0�Hr32MO0 KmՋ�s�X�Windows XP Home Edition(32 bit)0Windows XP Professional Edition(32 bit)0 Windows 7 �e0�Hr(32 bit)0Windows 7�e0�Hr(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�^-N�v�R�Nx� Some parts of source code: 10�hKm�d\O�|�~Hr,g0 1. To detect the version of the current OS. If Val(My.Computer.Info.OSVersion) < 6 Then 'XP02000I{�l g.NET�v�d\O�|�~ Else 'Vista0Win 7I{�&^.NET�v�d\O�|�~ End If 202�bk z�^͑ YЏL�0 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 30���S�d\O�|�~ T�SHr,g�S0 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) 50�S�5uP[���N0 5. To send the E-mail as a feedback. '���b Nb�@b g�Q ���N �v0W�ehQ�bcb mail �@b g�Q g�R �v0W�ehQ�bcb smtp  Please swap "���N" to "mail", and swap " g�R" to "smtp". 'ۏL� N�fbc�v�S�V/f2�bk�g�N@g�ko��N�\ N��Nx��:N/fv`a z�^0  The reason for making such replacements is to avoid being considered as malicious code by some anti-virus software. Dim g�R As New System.Net.���N. g�RClient(" g�R.163.com", 25) g�R.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_�v���N,:NfalseR�S��~�e,g���{ ���N.Body = //mail body// '���N�Q�[ If Dir(//D��NMOn//) <> "" Then ���N.Attachments.Add(New System.Net.���N.Attachment(//D��NMOn//) End If ���N.To.Add(//6e�N�N//)'�m�R6e�N�N,�Y�g gY*N,�S�NY!k�m�R g�R.Send(���N) ���N.Dispose() 60�_�_/T0sQ�Windows7-N�vAeroyrHe��|�~�Tlx�N�_{� T�e/ecAero�eMb 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") '�_�sQ�AeroyrHe 70�� z�^�S�N���QWindows80Windows8.10Windows10�|�~Hr,g�S�(Wapp.manifest�e�N-N�m�R�Y N�Nx �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�^-N�v z`�`� 10:N�NHN����n�b!h��� @b��v�b!h�� �1\/f�h�g z�^-N�v�e�N/f&T:N�S�Y�v�e�N0 �~�_�v�N���[O�S�s � z�^Data�e�N9Y N g'Yϑ�vdll�e�N �ُ�N��/fDirectX�v�~�N0 z�^�O Y�e1\/f�Nُ�N�e�N:N݄,g�[ �|�~-N�v�e�NۏL��hKm�T�O Y0�Y�g g+R g(u�_�v�N\vQ�fbc:N g�u� gv`a�Nx�v�e�NT�S^0RQ N �GP�Y z�^�l g�b !h���R���v݋ � z�^1\O�Nُ�N g��v�e�N:N݄,gۏL��O Y ��O Y�[bT�|�~���[O�Q�s�u�a�g�u�k0�Vdk �,g@w:N(u 7b�[hQ�v҉�^�Q�S � z�^��n�N�b!h��0ُ7h ��S�� z�^�hKm0R�N^��S�Y�e�N �1\O\Pbk�O Y ��c:y�b!h��1Y%�0 z�^-N(u�v:_!h���e_/fMD5!h�� �_N/f�k��8^(u�v!h���e_KNN0�h���e_�vO�p/f�S�N�hKm�Q�e�N�v�_\�]+R �:�p /f�['Y�e�N!h����ba0wQSO�v�St�S z�^-N�v�~��ُ̑ N�QX��0 20:N�NHN z�^�vLub� w N�S N�_0N�[� ُ1\���N,go��N�v����Rw��w��N0,go��N�v����KNR �:N�N�e�OT�y6��k�v�NO(u ��Vdko��N�v�W�1\/f�{�~0�{US0�{m0 N��v�{US �c�v/f�d\O�v�{US �FO/f�R�� N���{US0�S gُ7h �Mb���z�Q͑�p ��e�O�NUO�N�_� NKb0S_`O g�e��N�~�TsT�e � `O�SO�S�s z�^܏ Nbk�N�N�O YDirectX��HN�{US0�f�e�|�~-N�vc++ ��l�Q�|�~-N@b gdll�e�N �:Ndll�e�N�S.�܃US�m�R�l�Q�TxS}� y�I{�R��O���N�S�s z�^vQ�[؏ g�_Y\o�R g�_�S�c0 30 gsQ�N z�^-NS+T�vDirectXHr,g�v�f0 (W z�^�f̑�Q�N,g z�^S+T�[te�vDirectX�~�N ��N�[ N �,g z�^S+T�Nd�DirectX for Visual StudioYvQ�N@b g�vDirectX �~�N �(WO(u�f̑��HN�Q/f:N�N�Q\�[N,�(u7b�vq_�T0KN@b�N,g z�^*gS+TDirectX for Visual Studio �;N�� g$N�eb��Q�� ,{N �ُ�N�~�NO(u�v^�8^\ �N,�(u7b�[hQ NO�SO(u ��Y�gS+T�[�S ��X�R z�^ YBg�^�TSO�y �v^ NR�{�,{�N �b��:N �O(u Visual Studio�v�NN�[ g���R��]�RKb㉳Q�� � N���,go��N�v���R0,g z�^g�~�W�N N�$N�eb��Q� �����0