顯示具有 [作業系統]技術資料 標籤的文章。 顯示所有文章
顯示具有 [作業系統]技術資料 標籤的文章。 顯示所有文章

2021年7月2日 星期五

取得 Windows 的版本

 在這找到好辦法 C++ How to detect Windows 10 - Stack Overflow ,保留一份

#include <iostream>
#include <windows.h>

using namespace std;

// 回報 Windows 的版本 (7, 8, 8.1, 10)
double getSysOpType()
{
    double ret = 0.0;
    NTSTATUS(WINAPI *RtlGetVersion)(LPOSVERSIONINFOEXW);
    OSVERSIONINFOEXW osInfo;

    *(FARPROC*)&RtlGetVersion = 
      GetProcAddress(GetModuleHandleA("ntdll"), "RtlGetVersion");

    if (NULL != RtlGetVersion)
    {
        osInfo.dwOSVersionInfoSize = sizeof(osInfo);
        RtlGetVersion(&osInfo);
        ret = (double)osInfo.dwMajorVersion;
    }
    return ret;
}

int main()
{
    cout << getSysOpType() << endl;
    return 0;
}





2012年5月16日 星期三

GDI 映射模式

GDI 映射公式

以 X 方向的視窗口邏輯單位(xWindow)轉換為視埠設備單位(xViewport)為例:
 
xViewport = (xWindow - xWimOrg) * (xViewExt / xWinExt) + xViewOrg

(xViewExt / xWinExt) 是用來做轉換的比值,兩數是可任意值,但依平台不同有其實際的數值來源,兩者可由設備物件的 CDC::GetViewportExt() 和 CDC::GetWindowExt() 取得。

2012年4月13日 星期五

[轉貼]字元集

轉貼自 http://tw.group.knowledge.yahoo.com/m-c/listitem/view?iid=106
----------------------------------------------------------------------------
Multi-Byte Character

1990年代行銷全球的作業系統 Windows 必須面對混亂的問題。微軟的做法就是提供不同的內碼表(code page),到底一個碼要代表哪一個字符,就要看該環境採用哪一個內碼表。相信大家應該都有這樣的經驗:開啟了一份怪里怪氣的網頁、電子郵件,然後瘋狂的從十幾種內碼表當中猜測到底該用哪一個。