Vapor 是一個用 Swift 程式語言開發的 Web Framework,可運行在 macOS 跟 Linux 上,如果想在 Windows 上開發 Vapor Web 應用程式,則可以透過 WSL (Windows Subsystem for Linux) 來使用,本文要介紹如何在 WSL 上設定 Vapor 開發環境。
閱讀全文分類彙整: Windows
現代 Win32 程式開發的起手式
本文使用的開發環境為 Visual Studio 2019 Community Edition。
範例程式碼下載:https://github.com/riddleling/HelloWin32
第一部分:起步走
閱讀全文將 Windows 10 PC 變成 iBeacon:使用 windows-rs 實作
這幾天在練習使用 windows-rs,寫了一個讓 Windows 10 廣播 iBeacon 訊號的小程式。
完整的程式碼:https://github.com/riddleling/beacon-publisher-on-windows
這個程式很簡單, 使用 UWP API 的 BluetoothLEAdvertisementPublisher 發布 iBeacon 廣告:
let manufacturer_data = BluetoothLEManufacturerData::new()?;
// 設定 iBeacon 的 Manufacturer Data:
manufacturer_data.SetCompanyId(0x004C)?; // Company ID
let data:[u8; 23] = [
// Type:
0x02,
// Data Length:
0x15,
// Proximity UUID:
0xE3, 0x0A, 0xC8, 0xFE,
0x75, 0xB8, 0x47, 0x21,
0x4B, 0x5D, 0x56, 0xB7,
0x07, 0x64, 0x25, 0xA9,
// Major:
0x00, 0x02,
// Minor:
0x00, 0x03,
// TX Power:
0xC8
];
let writer = DataWriter::new()?;
writer.WriteBytes(&data)?;
let buffer = writer.DetachBuffer()?;
manufacturer_data.SetData(buffer)?;
let publisher = BluetoothLEAdvertisementPublisher::new()?;
// 把 Manufacturer Data 加入 publisher:
publisher.Advertisement()?.ManufacturerData()?.Append(manufacturer_data)?;
// 開始廣播:
publisher.Start()?;
停止廣播:
publisher.Stop()?;