这篇教程C++ GetVersionExA函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中GetVersionExA函数的典型用法代码示例。如果您正苦于以下问题:C++ GetVersionExA函数的具体用法?C++ GetVersionExA怎么用?C++ GetVersionExA使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了GetVersionExA函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: GetplatformeWinPlatform Getplatform(void){ OSVERSIONINFOA Osv; memset(&Osv, 0, sizeof(Osv)); Osv.dwOSVersionInfoSize = sizeof(OSVERSIONINFOA); if (!GetVersionExA(&Osv)) { memset(&Osv, 0, sizeof(Osv)); Osv.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXA); if (!GetVersionExA(&Osv)) return WIN_UNKNOWN; } switch(Osv.dwPlatformId) { case VER_PLATFORM_WIN32s: return WIN_3X; case VER_PLATFORM_WIN32_WINDOWS: return WIN_9X; case VER_PLATFORM_WIN32_NT: return WIN_NT; default: return WIN_UNKNOWN; }}
开发者ID:zhonghao1986cd,项目名称:projects,代码行数:29,
示例2: CheckFor98Millbool CheckFor98Mill(){ static bool needOsCheck = true; static bool is98Mill = false; if (needOsCheck) { bool invalid = false; OSVERSIONINFOEXA osvi; ZeroMemory(&osvi, sizeof(OSVERSIONINFOEXA)); osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXA); if( GetVersionExA((LPOSVERSIONINFOA)&osvi) == 0) { osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFOA); if ( GetVersionExA((LPOSVERSIONINFOA)&osvi) == 0) return false; } needOsCheck = false; is98Mill = osvi.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS; // let's check Win95, 98, *AND* ME. } return is98Mill;}
开发者ID:Abyss116,项目名称:luaplus51-all,代码行数:25,
示例3: CheckForVistabool CheckForVista(){ static bool needOsCheck = true; static bool isVista = false; if (needOsCheck) { bool invalid = false; OSVERSIONINFOEXA osvi; ZeroMemory(&osvi, sizeof(OSVERSIONINFOEXA)); osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXA); if( GetVersionExA((LPOSVERSIONINFOA)&osvi) == 0) { osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFOA); if ( GetVersionExA((LPOSVERSIONINFOA)&osvi) == 0) return false; } needOsCheck = false; isVista = osvi.dwMajorVersion >= 6; } return isVista;}
开发者ID:Abyss116,项目名称:luaplus51-all,代码行数:25,
示例4: iResolveAPI2static BOOL iResolveAPI2(tVerifyTrustData* d){ d->m_hWintrustDll = LoadLibraryA("WINTRUST"); if (!d->m_hWintrustDll) return FALSE; d->m_hCrypt32Dll = LoadLibraryA("CRYPT32"); if (!d->m_hCrypt32Dll) return FALSE; memset(&d->vi, 0, sizeof(OSVERSIONINFOA)); d->vi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOA); if ( !GetVersionExA(&d->vi) ) return FALSE; _RESOLVE_API(d->m_hWintrustDll, WinVerifyTrust); _RESOLVE_API(d->m_hWintrustDll, CryptCATAdminAcquireContext); _RESOLVE_API(d->m_hWintrustDll, CryptCATAdminCalcHashFromFileHandle); _RESOLVE_API(d->m_hWintrustDll, CryptCATAdminEnumCatalogFromHash); _RESOLVE_API(d->m_hWintrustDll, CryptCATCatalogInfoFromContext); _RESOLVE_API(d->m_hWintrustDll, CryptCATAdminReleaseCatalogContext); _RESOLVE_API(d->m_hWintrustDll, CryptCATAdminReleaseContext); _RESOLVE_API(d->m_hCrypt32Dll, CertOpenStore); _RESOLVE_API(d->m_hCrypt32Dll, CertEnumCertificatesInStore); _RESOLVE_API(d->m_hCrypt32Dll, CertGetCertificateChain); _RESOLVE_API(d->m_hCrypt32Dll, CertFindChainInStore); _RESOLVE_API(d->m_hCrypt32Dll, CertVerifyCertificateChainPolicy); _RESOLVE_API(d->m_hCrypt32Dll, CertFreeCertificateChainEngine); _RESOLVE_API(d->m_hCrypt32Dll, CertFreeCertificateChain); _RESOLVE_API(d->m_hCrypt32Dll, CertFreeCertificateContext); _RESOLVE_API(d->m_hCrypt32Dll, CertCloseStore); _RESOLVE_API(d->m_hCrypt32Dll, CertGetNameStringA); return TRUE;}
开发者ID:hackshields,项目名称:antivirus,代码行数:33,
示例5: DXUTGetMonitorInfoBOOL DXUTGetMonitorInfo(HMONITOR hMonitor, LPMONITORINFO lpMonitorInfo){ static bool s_bInited = false; static LPGETMONITORINFO s_pFnGetMonitorInfo = NULL; if(!s_bInited) { s_bInited = true; HMODULE hUser32 = GetModuleHandle(L"USER32"); if (hUser32) { OSVERSIONINFOA osvi = {0}; osvi.dwOSVersionInfoSize = sizeof(osvi); GetVersionExA((OSVERSIONINFOA*)&osvi); bool bNT = (VER_PLATFORM_WIN32_NT == osvi.dwPlatformId); s_pFnGetMonitorInfo = (LPGETMONITORINFO) (bNT ? GetProcAddress(hUser32,"GetMonitorInfoW") : GetProcAddress(hUser32,"GetMonitorInfoA")); } } if(s_pFnGetMonitorInfo) return s_pFnGetMonitorInfo(hMonitor, lpMonitorInfo); RECT rcWork; if ((hMonitor == DXUT_PRIMARY_MONITOR) && lpMonitorInfo && (lpMonitorInfo->cbSize >= sizeof(MONITORINFO)) && SystemParametersInfoA(SPI_GETWORKAREA, 0, &rcWork, 0)) { lpMonitorInfo->rcMonitor.left = 0; lpMonitorInfo->rcMonitor.top = 0; lpMonitorInfo->rcMonitor.right = GetSystemMetrics(SM_CXSCREEN); lpMonitorInfo->rcMonitor.bottom = GetSystemMetrics(SM_CYSCREEN); lpMonitorInfo->rcWork = rcWork; lpMonitorInfo->dwFlags = MONITORINFOF_PRIMARY; return TRUE; } return FALSE;}
开发者ID:50059021,项目名称:wodegongjubao,代码行数:32,
示例6: do_datevoid do_date(void){ OSVERSIONINFOA verinfo; CHAR buf[128]; time_t t = time(NULL); DWORD dwSize; CHAR szComp[MAX_PATH], szUser[MAX_PATH]; // OS info verinfo.dwOSVersionInfoSize = sizeof(verinfo); GetVersionExA(&verinfo); sprintf(buf, "Microsoft Windows [Version %u.%u.%u]", verinfo.dwMajorVersion, verinfo.dwMinorVersion, verinfo.dwBuildNumber); if (nyarlathotep_p) do_nyarlathotep_buffer(buf); puts(buf); // computer_name - user_name dwSize = MAX_PATH; GetComputerNameA(szComp, &dwSize); dwSize = MAX_PATH; GetUserNameA(szUser, &dwSize); sprintf(buf, "%s - %s", szComp, szUser); if (nyarlathotep_p) do_nyarlathotep_buffer(buf); puts(buf); // Thu Nov 28 14:52:58 2013 strftime(buf, 64, "%a %b %d %H:%M:%S %Y", localtime(&t)); if (nyarlathotep_p) do_nyarlathotep_buffer(buf); puts(buf);}
开发者ID:davehorner,项目名称:XScreenSaverWin,代码行数:33,
示例7: osplatform_getter osplatform_getter() : m_osplatform( 0 ) { OSVERSIONINFOA osvi; osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOA); if( GetVersionExA( & osvi ) ) m_osplatform = osvi.dwPlatformId; }
开发者ID:luosin,项目名称:Temp,代码行数:7,
示例8: sizeofbool CNtDriverControl::IsWindowsNt(){ OSVERSIONINFOEX OSVer; OSVer.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); OSVer.dwOSVersionInfoSize = sizeof(OSVer); if (!GetVersionExA((OSVERSIONINFOA *)&OSVer)) return false; switch(OSVer.dwPlatformId << 16 | OSVer.dwMajorVersion << 8 | OSVer.dwMinorVersion) { case VER_PLATFORM_WIN32_NT <<16|0x0500| 1: if(!GetSystemMetrics(87)) return TRUE; default: MessageBox (0 , _T("DeepMonitor designed only for Windows XP !") , _T("Information") , MB_OK); return false; } return false; }
开发者ID:WildeSE,项目名称:Source-Code,代码行数:29,
示例9: iupStrGetMemorychar *iupdrvGetSystemVersion(void){ char *str = iupStrGetMemory(256); OSVERSIONINFOEXA osvi; SYSTEM_INFO si; ZeroMemory(&si, sizeof(SYSTEM_INFO)); GetSystemInfo(&si); ZeroMemory(&osvi, sizeof(OSVERSIONINFOEXA)); osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXA); GetVersionExA((OSVERSIONINFOA*)&osvi); sprintf(str, "%d.%d.%d", (int)osvi.dwMajorVersion, (int)osvi.dwMinorVersion, (int)osvi.dwBuildNumber); /* Display service pack (if any). */ if (osvi.szCSDVersion && osvi.szCSDVersion[0]!=0) { strcat(str, " "); strcat(str, osvi.szCSDVersion); } if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_IA64) strcat(str, " (IA64)"); else if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64) strcat(str, " (x64)"); else strcat(str, " (x86)"); return str;}
开发者ID:ivanceras,项目名称:iup-mirror,代码行数:31,
示例10: my_CreateRemoteThreadHANDLE my_CreateRemoteThread(HANDLE hRemoteProc, LPTHREAD_START_ROUTINE pThreadFun, LPVOID pThreadData) { /* win vista/7 NtCreateThreadEx win xp/8 CreateRemoteThread */ BOOL bCrossSession = FALSE; OSVERSIONINFOA sysVersion; sysVersion.dwOSVersionInfoSize = sizeof(OSVERSIONINFOA); if (GetVersionExA(&sysVersion)) { if ((sysVersion.dwMajorVersion >= 6) && (sysVersion.dwMinorVersion != 2)) { bCrossSession = TRUE; } } HANDLE hThread = NULL; if (bCrossSession) { hThread = NtCreateThreadEx_1(hRemoteProc, pThreadFun, pThreadData); } else { DWORD dwThreadId = 0; hThread = CreateRemoteThread(hRemoteProc, NULL, 0, pThreadFun, pThreadData, 0, &dwThreadId); } return hThread;}
开发者ID:khuangia,项目名称:wce,代码行数:29,
示例11: DllMaintBOOL __stdcall DllMain( tPTR hInstance, tDWORD dwReason, tERROR* pError ) { // tDWORD count; static OSVERSIONINFOA osvi; switch( dwReason ) { case DLL_PROCESS_ATTACH: { memset(&osvi, 0, sizeof(OSVERSIONINFOA)); osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOA); if( !GetVersionExA(&osvi) || osvi.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS ) { // iCheckerSA doesn't support Windows 9x return FALSE; } } break; case DLL_PROCESS_DETACH: case DLL_THREAD_ATTACH : case DLL_THREAD_DETACH : break; case PRAGUE_PLUGIN_LOAD : g_root = (hROOT)hInstance; *pError = errOK; //resolve my imports //if ( PR_FAIL(*pError=CALL_Root_ResolveImportTable(g_root,&count,import_table_variable...,PID_ICHECKERSA)) ) { // PR_TRACE(( g_root, prtERROR, "cannot resolve import table for ..." )); // return cFALSE; //} //register my exports //CALL_Root_RegisterExportTable( g_root, &count, export_table_..., PID_ICHECKERSA ); //register my custom property ids //if ( PR_FAIL(*pError=CALL_Root_RegisterCustomPropId(g_root,&some_propid_variable,"some_property_name",pTYPE_DWORD)) ) { // PR_TRACE(( g_root, prtERROR, "cannot register custom property ..." )); // return cFALSE; //} // register my interfaces if ( PR_FAIL(*pError=IChecker_Register(g_root)) ) { PR_TRACE(( g_root, prtERROR, "cannot register /"IChecker/" interface")); return cFALSE; } break; case PRAGUE_PLUGIN_UNLOAD : // free system resources // unregister my custom property ids -- you can drop it, kernel do it by itself // release my imports -- you can drop it, kernel do it by itself // unregister my exports -- you can drop it, kernel do it by itself // unregister my interfaces -- you can drop it, kernel do it by itself g_root = NULL; break; } return cTRUE;}
开发者ID:hackshields,项目名称:antivirus,代码行数:58,
示例12: ntlm_get_version_infovoid ntlm_get_version_info(NTLM_VERSION_INFO* versionInfo){ OSVERSIONINFOA osVersionInfo; osVersionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFOA); GetVersionExA(&osVersionInfo); versionInfo->ProductMajorVersion = (UINT8) osVersionInfo.dwMajorVersion; versionInfo->ProductMinorVersion = (UINT8) osVersionInfo.dwMinorVersion; versionInfo->ProductBuild = (UINT16) osVersionInfo.dwBuildNumber; ZeroMemory(versionInfo->Reserved, sizeof(versionInfo->Reserved)); versionInfo->NTLMRevisionCurrent = NTLMSSP_REVISION_W2K3;}
开发者ID:DavBfr,项目名称:FreeRDP,代码行数:11,
示例13: W_IsUnicodeSystem//--------------------------------------------------------------BOOL WINAPI W_IsUnicodeSystem(){ static BOOL g_fWAPI = -2; if (-2 == g_fWAPI) { OSVERSIONINFOA osvi; osvi.dwOSVersionInfoSize = sizeof(osvi); GetVersionExA(&osvi); g_fWAPI = (VER_PLATFORM_WIN32_NT == osvi.dwPlatformId); } return g_fWAPI;}
开发者ID:JianwenSun,项目名称:cc,代码行数:13,
示例14: getOSInfovoid getOSInfo( char *os_info ){ OSVERSIONINFOEXA os; memset( &os, 0, sizeof(os) ); os.dwOSVersionInfoSize = sizeof(os); if( GetVersionExA( (OSVERSIONINFOA *)&os ) ) { sprintf( os_info, "%d.%d.%d sp %d.%d", os.dwMajorVersion, os.dwMinorVersion, os.dwBuildNumber, (int)os.wServicePackMajor, (int)os.wServicePackMinor ); } else log_error( LOG_ERROR, "GetVersionExA(): error!/n" );}
开发者ID:minlexx,项目名称:l2-unlegits,代码行数:13,
示例15: mork_fileflushvoid mork_fileflush(FILE * file){ fflush(file);#ifndef WINCE OSVERSIONINFOA vi = { sizeof(OSVERSIONINFOA) }; if ((GetVersionExA(&vi) && vi.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS)) { // Win9x/ME int fd = fileno(file); HANDLE fh = (HANDLE)_get_osfhandle(fd); FlushFileBuffers(fh); }#endif}
开发者ID:EdgarChen,项目名称:mozilla-cvs-history,代码行数:14,
示例16: ZeroMemory void Platform_Windows::PlatformVersion(string& aVersion) { //Setup and initialize version struct OSVERSIONINFOA osVersion; ZeroMemory(&osVersion, sizeof(OSVERSIONINFOA)); osVersion.dwOSVersionInfoSize = sizeof(OSVERSIONINFOA);#pragma warning(push)#pragma warning(disable : 4996) //Get the OS version GetVersionExA(&osVersion);#pragma warning(pop) //String stream used to convert the numeric version stringstream version; //Convert the version to a string if(osVersion.dwMajorVersion == 6 && osVersion.dwMinorVersion == 3) { version << "8.1"; } else if(osVersion.dwMajorVersion == 6 && osVersion.dwMinorVersion == 2) { version << "8"; } else if(osVersion.dwMajorVersion == 6 && osVersion.dwMinorVersion == 1) { version << "7"; } else if(osVersion.dwMajorVersion == 6 && osVersion.dwMinorVersion == 0) { version << "Vista"; } else if(osVersion.dwMajorVersion == 5 && (osVersion.dwMinorVersion == 1 || osVersion.dwMinorVersion == 2)) { version << "XP"; } else if(osVersion.dwMajorVersion == 5 && osVersion.dwMinorVersion == 0) { version << "2000"; } //Set the return version version << " (Build " << osVersion.dwBuildNumber << ": " << osVersion.szCSDVersion << ")"; aVersion = string(version.str()); }
开发者ID:Epidilius,项目名称:PhysicsHackAndSlash,代码行数:48,
示例17: CrashLog_LogOSVersionvoid CrashLog_LogOSVersion(char *buffer){ OSVERSIONINFOA os; os.dwOSVersionInfoSize = sizeof(os); GetVersionExA(&os); sprintf(buffer + strlen(buffer), "Operating system:/n" " Name: Windows/n" " Release: %d.%d.%d (%s)/n", (int)os.dwMajorVersion, (int)os.dwMinorVersion, (int)os.dwBuildNumber, os.szCSDVersion );}
开发者ID:HBTeun,项目名称:OpenDUNE,代码行数:16,
示例18: sizeof/* virtual */ char *CrashLogWindows::LogOSVersion(char *buffer, const char *last) const{ _OSVERSIONINFOA os; os.dwOSVersionInfoSize = sizeof(os); GetVersionExA(&os); return buffer + seprintf(buffer, last, "Operating system:/n" " Name: Windows/n" " Release: %d.%d.%d (%s)/n", (int)os.dwMajorVersion, (int)os.dwMinorVersion, (int)os.dwBuildNumber, os.szCSDVersion );}
开发者ID:fonsinchen,项目名称:openttd-cargodist,代码行数:17,
示例19: test_GetVersionExstatic void test_GetVersionEx(void){ OSVERSIONINFOA infoA; OSVERSIONINFOEXA infoExA; BOOL ret; if (0) { /* Silently crashes on XP */ GetVersionExA(NULL); } SetLastError(0xdeadbeef); memset(&infoA,0,sizeof infoA); ret = GetVersionExA(&infoA); ok(!ret, "Expected GetVersionExA to fail/n"); ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER || GetLastError() == 0xdeadbeef /* Win9x */, "Expected ERROR_INSUFFICIENT_BUFFER or 0xdeadbeef (Win9x), got %d/n", GetLastError()); SetLastError(0xdeadbeef); infoA.dwOSVersionInfoSize = sizeof(OSVERSIONINFOA) / 2; ret = GetVersionExA(&infoA); ok(!ret, "Expected GetVersionExA to fail/n"); ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER || GetLastError() == 0xdeadbeef /* Win9x */, "Expected ERROR_INSUFFICIENT_BUFFER or 0xdeadbeef (Win9x), got %d/n", GetLastError()); SetLastError(0xdeadbeef); infoA.dwOSVersionInfoSize = sizeof(OSVERSIONINFOA) * 2; ret = GetVersionExA(&infoA); ok(!ret, "Expected GetVersionExA to fail/n"); ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER || GetLastError() == 0xdeadbeef /* Win9x */, "Expected ERROR_INSUFFICIENT_BUFFER or 0xdeadbeef (Win9x), got %d/n", GetLastError()); SetLastError(0xdeadbeef); infoA.dwOSVersionInfoSize = sizeof(OSVERSIONINFOA); ret = GetVersionExA(&infoA); ok(ret, "Expected GetVersionExA to succeed/n"); ok(GetLastError() == 0xdeadbeef, "Expected 0xdeadbeef, got %d/n", GetLastError()); SetLastError(0xdeadbeef); infoExA.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXA); ret = GetVersionExA((OSVERSIONINFOA *)&infoExA); ok(ret || broken(ret == 0), /* win95 */ "Expected GetVersionExA to succeed/n");}
开发者ID:AlexSteel,项目名称:wine,代码行数:53,
示例20: GetWinFlags16/*********************************************************************** * GetWinFlags (KERNEL.132) */DWORD WINAPI GetWinFlags16(void){ static const long cpuflags[5] = { WF_CPU086, WF_CPU186, WF_CPU286, WF_CPU386, WF_CPU486 }; SYSTEM_INFO si; OSVERSIONINFOA ovi; DWORD result; GetSystemInfo(&si); /* There doesn't seem to be any Pentium flag. */ result = cpuflags[min(si.wProcessorLevel, 4)] | WF_ENHANCED | WF_PMODE | WF_80x87 | WF_PAGING; if (si.wProcessorLevel >= 4) result |= WF_HASCPUID; ovi.dwOSVersionInfoSize = sizeof(ovi); GetVersionExA(&ovi); if (ovi.dwPlatformId == VER_PLATFORM_WIN32_NT) result |= WF_WIN32WOW; /* undocumented WF_WINNT */ return result;}
开发者ID:Dimillian,项目名称:wine,代码行数:21,
|