public static Version BASS_DSHOW_GetVersion(int fieldcount) { if (fieldcount < 1) { fieldcount = 1; } if (fieldcount > 4) { fieldcount = 4; } int num = BassDShow.BASS_DSHOW_GetVersion(); Version result = new Version(2, 4); switch (fieldcount) { case 1: result = new Version(num >> 24 & 255, 0); break; case 2: result = new Version(num >> 24 & 255, num >> 16 & 255); break; case 3: result = new Version(num >> 24 & 255, num >> 16 & 255, num >> 8 & 255); break; case 4: result = new Version(num >> 24 & 255, num >> 16 & 255, num >> 8 & 255, num & 255); break; } return(result); }
private static void CheckVersion() { try { if (Utils.HighWord(BassDShow.BASS_DSHOW_GetVersion()) != 258) { Version version = BassDShow.BASS_DSHOW_GetVersion(2); Version version2 = new Version(1, 2); FileVersionInfo fileVersionInfo = null; ProcessModuleCollection modules = Process.GetCurrentProcess().Modules; for (int i = modules.Count - 1; i >= 0; i--) { ProcessModule processModule = modules[i]; if (processModule.ModuleName.ToLower().Equals("xVideo".ToLower())) { fileVersionInfo = processModule.FileVersionInfo; break; } } if (fileVersionInfo != null) { MessageBox.Show(string.Format("An incorrect version of BASS_DSHOW was loaded!\r\n\r\nVersion loaded: {0}.{1}\r\nVersion expected: {2}.{3}\r\n\r\nFile: {4}\r\nFileVersion: {5}\r\nDescription: {6}\r\nCompany: {7}\r\nLanguage: {8}", new object[] { version.Major, version.Minor, version2.Major, version2.Minor, fileVersionInfo.FileName, fileVersionInfo.FileVersion, fileVersionInfo.FileDescription, fileVersionInfo.CompanyName + " " + fileVersionInfo.LegalCopyright, fileVersionInfo.Language }), "Incorrect BASS_DSHOW Version", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { MessageBox.Show(string.Format("An incorrect version of BASS_DSHOW was loaded!\r\n\r\nVersion loaded: {0}.{1}\r\nVersion expected: {2}.{3}", new object[] { version.Major, version.Minor, version2.Major, version2.Minor }), "Incorrect BASS_DSHOW Version", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } } catch { } }