public static Version BASS_WASAPI_GetVersion(int fieldcount) { if (fieldcount < 1) { fieldcount = 1; } if (fieldcount > 4) { fieldcount = 4; } int num = BassWasapi.BASS_WASAPI_GetVersion(); Version result = new Version(2, 3); 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(BassWasapi.BASS_WASAPI_GetVersion()) != 516) { Version version = BassWasapi.BASS_WASAPI_GetVersion(2); Version version2 = new Version(2, 4); 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("basswasapi".ToLower())) { fileVersionInfo = processModule.FileVersionInfo; break; } } if (fileVersionInfo != null) { MessageBox.Show(string.Format("An incorrect version of BASSWASAPI 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 BASSWASAPI Version", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { MessageBox.Show(string.Format("An incorrect version of BASSWASAPI 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 BASSWASAPI Version", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } } catch { } }