小卷派大星
15 years ago
真麻煩,要做螢幕畫筆,有兩個問題要解決,一個是繪圖,一個是滑鼠事件。繪圖可採行Hack到Desktop Handle的做法,但是由於各視窗更新時機不同,因此會閃爍不定。也可繪製在視窗上,在把視窗其他區域設為透明色,但缺點是這種做法在透明的地方,就無法捕捉滑鼠事件。
小卷派大星
15 years ago
而且上述兩種方法,都有一個問題,就是不能繪製半透明的線段...
小卷派大星
15 years ago
要繪製半透明,目前已知C#可行作法有兩種,一個是利用DWMAPI來將毛玻璃效果擴展到整個視窗,不過缺點是毛玻璃本身跟其陰影不知道如何拿掉,因為目的是要全透明,不是半透明。
小卷派大星
15 years ago
另一個是使用WFP,然後把背景色改為透明。WFP看起來相當可行,雖然透明區域依舊無法捕捉事件,但可以透過Hook來補足這一個缺陷。只是Hook的管理也挺麻煩,要把所有事件都妥善處置才行。
立即下載
小卷派大星
15 years ago
問題是早在WFP出現以前就已經有人開發出可以繪製半透明顏色的軟體,究竟是怎樣做到的?這依舊是個迷呀~~