画面キャプチャツールをまた作ろうかなと

はじめに

史上最速でスクショがとれるワザ!「[Windows]+[Shift]+[S]」って知ってる?

こんなエントリがちょっと前にバズってました。私はSI時代、エビデンス(大爆笑)とかいうものを作る奴隷業に精を出していました。「目標をセンターに入れてクリック……目標をセンターに入れてクリック……」と死んだ目をしつつ Alt & PrintScreen → ペイントにペーストして保存。そんな想い出とともに、自身が使っているツールを思い出したのです。

CapImage2

カメラのアイコン

今考えると意味がわからないソフトウェア名なのですが、Shift & PrintScreen(など)で画面のビットマップコピーを取得すると同時に、指定ディレクトリにファイルを生成するツールです。Bitmap/PNGの画質、キーアサイン、出力ディレクトリの指定、くらいの項目は設定ファイルで変更できるようにしていた。ただ、activeなwindowではなく常に画面全体をキャプチャするので用途が限られていたのでした。

config_and_readme

よーし、これ改良してactiveなwindowを選択してキャプチャ出来るようにして、尚且つクリップボードのデータも取っちゃうぞ!などと意気揚々とプロジェクトディレクトリを開こうと思ったのですが、無いのです。VS2015なのか2013なのか思い出せませんがソリューションが。プロジェクトが。ソースコードが。

PS C:\> Get-ChildItem e:\ "capimage2.*" -Recurse

    ディレクトリ: E:\Application

Mode                LastWriteTime         Length Name                                                                                                                                         
----                -------------         ------ ----                                                                                                                                         
d-----       2014/10/18     15:40                CapImage2                                                                                                                                    

    ディレクトリ: E:\Application\CapImage2

Mode                LastWriteTime         Length Name                                                                                                                                         
----                -------------         ------ ----                                                                                                                                         
-a----       2015/01/13     22:31          20992 CapImage2.exe 

えー、Windowsの常駐ソフトウェアとか作り方微塵も覚えてないし、一番苦労したのは確かアイコン画像を自分で書いたんだよこれ!みたいな。

そこで

せっかくgolang勉強しようと思ってるし何作っていいかわからんしRaspberry Pi Zeroはなんか俺がやりたいと思っていることを尽く潰してくれやがるしってんで丁度いいかなと思い検索してみたのだが。golangとWindows GUIは超絶相性悪いというか、そんなもん作りたいやつが学ばないというかぶっちゃけ修羅の道なので断念した(なんかWindowsService作ってる人は何人かいたし海外だとわざわざgoからWin32API直叩きしてる人もいた……)。

.net coreでコンフィグや画面出力する部分はWebView2で作ることにした。WebView2の.net core GAまだー?