きっかけなど
今年の夏休み、なんと6~7年ぶりに職場の作業用PCが入れ替わったのです。
これまでは、Win7なPCでしたので、アプリのインストールは禁止されているもののサイドバーガジェットは好きな物が入れ放題でした。そこで、「Google
Calendar Agenda」というのを使って、予定管理をしてました。
ところが!新しいPCはWindows10です。サイドバーガジェットは残念ながらセキュリティーの関係で廃止になったのです。
ということは、愛用のガジェットは使えないのです・・・。
Vectorなどのフリーソフトを集めたサイトを探し回りましたが、それらしいものはどこにも見当たりません。
それならば、自分で作るしかないじゃないですか!!!
準備とコンセプト
○準備
・開発ツール … Visual Studio Community 2019/Microsoft
・Googleのアカウント
〇コンセプト
・インストーラーを使わずに、実行ファイル(.exe)を起動するだけで使える。
・デスクトップに常駐できる。
・Googleカレンダーの今後の予定がパッとわかる。
・今日の日付が確認できる。
・誰にもエレガント。
Googleカレンダーの予定にアクセス!
さて、Googleカレンダーの予定にアクセスするにはどうしたらいいのかな?と、ネットをうろつきました。
その結果わかったことは、まずGoogleのホームページで設定が必要だということでした。
そこでまず、Google Cloud Platformへ行きます。そこで自分のアカウントでログインし、新しいプロジェクトを作って、そのプロジェクトにGoogleカレンダーを組み込みました。次いでスコープを設定して、OAuth認証用の.jsonファイルをダウンロードしました。
そして、いよいよVisual C#でプログラミングです。
Googleカレンダーのサンプルを参考に、OAuth認証をする部分を作り、Googleカレンダーから予定を取得するプログラムを作りました。
ここで新しい疑問に出会いました。
===============
await ・・・なんだこれは???
===============
そうか、私のプログラミング概念はもう古くなっていたのです。世の中は平行動作。マルチタスクです!
Googleの認証を受けるのを待つのに、await命令を使うのですね。
その関係でasyncが必要になるんだと。なんか、勉強しちゃいました。
これさえ出来れば、あとは画面を作るだけ。
どうせだから、自由自在にアレンジできるようにしよう!と、設定を豊富にしてみました。
↓設定画面
そして、ついに出来上がったのでした!!!
命名:Yotemi ・・・よていをみるツール です。単純ですね。けど、かわいい名前でしょ!?
←Yotemiの画面(初期状態)
スリープからの復帰でハマる!
そんなわけで、テスト運用を開始したら、さっそく不具合が発生!!!
なんと、Windowsをスリープにして、そこから復帰すると固まります。
何でだ...。半日悩みました。
そして、いろいろ実験した結果、原因がほぼ分かりました。
============================
スリープから復帰してすぐには、ネットにつながっていない。
============================
これです。
だったら、復帰後にウェイトを入れてみるかということで、1分間のウェイトを
Thread.Sleep(60000);
と入れた所、完璧にうまく行きました。(ただ、我が家の環境でですけど。)
終わりに
いやぁ完成しました。職場でも運用を開始しました。
これで、予定の確認は今まで通りに行きそうです。
しかし、コンピュータ・プログラミングの世界は、どんどん進歩しているのですね。
面白いなぁ。
配布してます!
ということで、完成したYotemiをおすそ分けします。
この眠眠工房のホームページからダウンロードできますので、どうぞ使ってみてください。
Yotemiのページ