顯示具有 [作業系統]Win 標籤的文章。 顯示所有文章
顯示具有 [作業系統]Win 標籤的文章。 顯示所有文章

2022年11月8日 星期二

Association File 範例

這是用 CodeBlocks 製作的專案,並須備好 C++ 編譯器和 wxWidgets,主要在介紹幾個 wxWidgets 強大的功能。程式雖然在 Windows 系統環境下寫的,但因 wxWidgets  是跨平台的程式庫,因此在其他系統環境下也應該可行。

程式的主要目的在達成程式與關聯檔案(Association File)的聯結,只要對關聯資料檔案點兩下,就可以叫出程式來虙理。

2022年11月1日 星期二

VMware 安裝 Ubuntu 22.04.1 的鳥事

 為了能修訂 CxxlMan2 程式庫在 Linux 適用性,所以在 VMware 16.2.4 裝了一套 ubuntu-22.04.1-desktop-amd64 來用,但卻不能在 Host 與 Guest 之間複製檔案,上網找了一堆奇形怪招也沒用,浪費不少精神和時間。

後來無意間發現可以把一個 .txt 檔複製進去,才發現原來會阻擋副檔名為 .zip 的複製動作,還真是鳥屎^@#!&

2021年12月10日 星期五

建置 VScode 的 C++ 開發環境

 VScode 進化非常神速,就 C++ 而言搭配 CMake 延伸模組的支援,以往那些麻煩的設定可以拋諸腦後了。

首先到 CMake 下載並安裝最新版的 CMake。

再去抓最新版的 MinGW ,我抓的是 x86_64-posix-seh,解壓到 C:\x86_64-8.1.0-release-posix-seh-rt_v6-rev0,並將 C:\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\mingw64\bin 設定到環境變數 PATH,這點是必須的,因 VScode 會去找編譯器。

2021年10月19日 星期二

在 Windows 的 Console 顯示 utf-8

在 C++ 程式編譯之字串 一文中提到在 Console 顯示 wchar_t 字串的方法,但在 Windows 11 + MinGw 8.1.0 已經行不通了。不過現在比較流行用 UTF-8,若有在 Windows 的 Console 顯示 UTF-8 的須求,以下的方法很容易就能逹成

#include <iostream>
#include <Windows.h>
using namespace std;


int main(int, char**) 
{
  // Set console code page to UTF-8 so console known how to interpret string data
  SetConsoleOutputCP(CP_UTF8);

  // Enable buffering to prevent VS from chopping up UTF-8 byte sequences
  setvbuf(stdout, nullptr, _IOFBF, 1000);

  const char *str = u8"你好 こんにちは 안녕하십니까";

  cout << "str = " << str << endl;


  return 0;
}







2021年3月1日 星期一

[轉貼]辦別執行檔為 64 位元或 32 位元

見 有程式能辦別執行檔為 64 位元或 32 位元的呢? - Mobile01

其實用 7-ZIP 就可以了,但 danfong 所提供配合批次檔的做法也有參考價值,以下覆製下來以免往後失連

@for /f "tokens=2 delims== " %%i in ('7z l "%~f1"^|find/i "cpu"') do @echo PE類型為:%%i 檔案:"%~f1"




2020年6月10日 星期三

2018年4月8日 星期日

instal 是 windows 執行檔名的特殊關鍵字

只要執行檔名含有 instal,無論位於哪個位置都會被視為安裝程式,不會用一般程式的方式啟動,害我抓 bug 抓了老半天

jhfcaginstalhfhgfg.exe 這個不是一般程式



2014年2月12日 星期三

WD WD10EZEX-08M2NA0 和 NVIDIA IDE SW 相衝

剛買了一顆 WD WD10EZEX-08M2NA0 硬碟,在 WinXP 下看不到,但用 WinXP 安裝光碟是看得到的,索性就把 WinXP 安裝到這顆硬碟,一開始一切正常,但安裝完一堆驅動程式後就開不了機了。

想說一個個找原因很麻煩,只好假設是儲存方面的驅動程式,重裝一次 WinXP,但沒裝 NVIDIA IDE SW,果然被我猜中。

為了進一步確認,一切裝好後,設好系統還原,再裝上 NVIDIA IDE SW,重開機後就進不了 WinXP 了,證明無誤。

只有 WinXP 的 NVIDIA IDE SW 有影響,在 Win7 無影響。





2013年9月24日 星期二

cxxlOIS 元件

OIS 是一個跨平台的處理輸入裝置的函式庫,以物件導向的方式設計。OIS可以支援的輸入裝置主要是鍵盤、滑鼠、搖桿,同時也支援力回饋裝置--引言自 與Ogre共舞:第六步,敲敲鍵盤、動動滑鼠

由於編寫使用 OIS 的程式碼也蠻繁雜的,再加上為了搭配 CxxlMan 函數庫,所以寫了這個元件,把 OIS 包裝起來,並提供隨時更改 Event Handler 和 Windows 的 HWND 的能力。

2012年5月16日 星期三

GDI 映射模式

GDI 映射公式

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

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