Automatically changes controls to XP themed style in XP based OS.

  '************************************** 'Windows API/Global Declarations for :_ ' Automatically Create Manifest File _ '************************************** Private Declare Function GetVersionExA Lib "kernel32" (lpVersionInformation As OSVERSIONINFO) As Integer Private Declare Function InitCommonControls Lib "Comctl32.dll" () As Long Private Type OSVERSIONINFO dwOSVersionInfoSize As Long dwMajorVersion As Long dwMinorVersion As Long dwBuildNumber As Long dwPlatformId As Long szCSDVersion As String * 128 End Type '************************************** ' Name: _ Automatically Create Manifest ' File _ ' Description:Automatically changes cont ' rols to XP themed style in XP based OS. ' By: KRYO_11 ' ' ' Inputs:None ' ' Returns:None ' 'Assumes:None ' 'Side Effects:None 'This code is copyrighted and has limite ' d warranties. 'Please see http://www.Planet-Source-Cod ' e.com/xq/ASP/txtCodeId.51893/lngWId.1/qx ' /vb/scripts/ShowCode.htm 'for details. '************************************** Public Function CreateManifest() As Boolean On Error Resume Next Dim EXEPath As String 'Get The EXE Path EXEPath = App.Path & IIf(Right(App.Path, 1) = "/", vbNullString, "/") EXEPath = EXEPath & App.EXEName & IIf(LCase(Right(App.EXEName, 4)) = ".exe", ".manifest", ".exe.manifest") 'Checks if the manifest has already been ' created If Dir(EXEPath, vbReadOnly Or vbSystem Or vbHidden) <> vbNullString Then GoTo ErrorHandler 'Makes sure you are using windows xp If WinVersion = "Windows XP" Then Dim iFileNumber As Integer iFileNumber = FreeFile 'Save the .manifest file Open EXEPath For Output As #iFileNumber Print #iFileNumber, FormatManifest CreateManifest = True Else Kill EXEPath End If 'set the file to be hidden Close #iFileNumber SetAttr EXEPath, vbHidden Or vbSystem Or vbReadOnly Or vbArchive ErrorHandler: Call InitCommonControls End Function 'get windows version (from Microsoft.com ' ) Private Function WinVersion() As String Dim osinfo As OSVERSIONINFO Dim retvalue As Integer osinfo.dwOSVersionInfoSize = 148 osinfo.szCSDVersion = Space$(128) retvalue = GetVersionExA(osinfo) With osinfo Select Case .dwPlatformId Case 1 If .dwMinorVersion = 0 Then WinVersion = "Windows 95" ElseIf .dwMinorVersion = 10 Then WinVersion = "Windows 98" End If Case 2 If .dwMajorVersion = 3 Then WinVersion = "Windows NT 3.51" ElseIf .dwMajorVersion = 4 Then WinVersion = "Windows NT 4.0" ElseIf .dwMajorVersion >= 5 Then WinVersion = "Windows XP" End If Case Else WinVersion = "Failed" End Select End With End Function 'Create the string for the manifest file ' Private Function FormatManifest() As String Dim Header As String Header = "<?xml version=" & Chr(34) & "1.0" & Chr(34) & " encoding=" & Chr(34) & "UTF-8" & Chr(34) & " standalone=" & Chr(34) & "yes" & Chr(34) & "?>" Header = Header & vbCrLf & "<assembly xmlns=" & Chr(34) & "urn:schemas-microsoft-com:asm.v1" & Chr(34) & " manifestVersion=" & Chr(34) & "1.0" & Chr(34) & ">" Header = Header & vbCrLf & "<assemblyIdentity" Header = Header & vbCrLf & "version=" & Chr(34) & "1.0.0.0" & Chr(34) Header = Header & vbCrLf & "processorArchitecture=" & Chr(34) & "X86" & Chr(34) Header = Header & vbCrLf & "name=" & Chr(34) & "Microsoft.VisualBasic6.IDE" & Chr(34) Header = Header & vbCrLf & "type=" & Chr(34) & "win32" & Chr(34) Header = Header & vbCrLf & "/>" Header = Header & vbCrLf & "<description>Microsoft Visual Basic 6 IDE</description>" Header = Header & vbCrLf & "<dependency>" Header = Header & vbCrLf & "<dependentAssembly>" Header = Header & vbCrLf & "<assemblyIdentity" Header = Header & vbCrLf & "type=" & Chr(34) & "win32" & Chr(34) Header = Header & vbCrLf & "name=" & Chr(34) & "Microsoft.Windows.Common-Controls" & Chr(34) Header = Header & vbCrLf & "version=" & Chr(34) & "6.0.0.0" & Chr(34) Header = Header & vbCrLf & "processorArchitecture=" & Chr(34) & "X86" & Chr(34) Header = Header & vbCrLf & "publicKeyToken=" & Chr(34) & "6595b64144ccf1df" & Chr(34) Header = Header & vbCrLf & "language=" & Chr(34) & "*" & Chr(34) Header = Header & vbCrLf & "/>" Header = Header & vbCrLf & "</dependentAssembly>" Header = Header & vbCrLf & "</dependency>" Header = Header & vbCrLf & "</assembly>" FormatManifest = Header End Function 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值