編程開發

macOS 鍵盤按鍵 event 的三種截獲方式

一般情況下,你不需要了解這些內容。

在極少數情況下,你的app可能需要去獲取用戶按下的按鍵信息,比如盜號木馬 開發一款輸入法。只有這樣你才能給用戶提供候選。

怎麼在 macOS 下創建一個輸入法,我在Swift 使用 InputMethodKit 寫輸入法這篇文章中有詳細的說明,這里略過[……]

點擊跳轉以繼續閱讀

winform 使用 視頻 作為窗口背景

最近做 Windows 上的項目,客戶要求要做的“炫”一點,所以,動態的窗口背景永遠是必不可少的內容(比如手機qq的登錄界面對吧?

我本以為這是一個很容易實現的功能於是就滿口答應下來……是的,在 winform 裡,並不是那麼容易就能達到你想要的效果的。

理所當然,我們想到如果要播放視頻[……]

點擊跳轉以繼續閱讀

Android 安卓開發板 讀取串口

最近接了個工程,需求是給特製的工程安卓板子做串口讀寫以實現一些特定外接設備的互動——是的你沒有看錯,安卓板子也是可以有串口的!

很多做移動開發的朋友可能沒接觸過——其實在這之前我也沒接觸過。踩了七八個小時的坑,終於爬出來了,這裡做一個總結,可能各個工程板子具體情況不同,大家一定要隨機應變。[……]

點擊跳轉以繼續閱讀

多顯示器下判斷窗口位置 macOS

在開發落格輸入法的時候,我遇到了這麼一件事情,就是作為候選欄的窗口會在屏幕邊緣的時候超出屏幕去!所以,在顯示窗口的時候我根據坐標做了額外的檢查:

總之,就是說如果坐標算上自己的寬度超過了屏幕的寬度,就把它挪回來。

但是,這樣[……]

點擊跳轉以繼續閱讀

如何讓 NSWindow 顯示在不同的 Space 或者 Screen 中

在寫落格輸入法 Mac 版的過程當中,我遇到了這麼一個問題,系統的候選條 API 年久失修,很多功能 API 存在但根本無效,比如:

這個方法是用來設置候選條風格的,裡邊除了默認的[crayon-6637db9b957b63805[……]

點擊跳轉以繼續閱讀

URL 遇到 中文字符 無法初始化

在 Swift 中,大家經常會用 URL 來初始化一個路徑,比如網頁的鏈接。比如這樣:

當用戶點擊按鈕(比如說這個幫助按鈕),那麼一下子就幫用戶打開默認的瀏覽器,並打開指定的頁面(這裡是個論壇)。

那麼,如果你的鏈接是這樣的[……]

點擊跳轉以繼續閱讀

如何給服務器端做最基本的密碼安全

做 app 做網站,難免要和服務器、後台、數據打交道,那麼作為一名後台開發,當涉及到註冊登錄,你最應當想到的應該是用戶的安全,尤其是密碼安全。

現在安全界幾乎天天都有某網站、某公司被脫褲,也就是整站的數據庫被偷走被下載。那麼你的用戶數據全部落入了歹徒手中,應該怎麼防範即使如此,歹徒也不能拿到用[……]

點擊跳轉以繼續閱讀