ウインドウの正しい閉じ方(外からどうすればいいか?ウインドウの中では何をすればいいか?)

C++

もくじ https://tera1707.com/entry/2022/02/06/144447 アプリ外側から、ウインドウを閉じるにはどうするのが正しいのか? 今のところ、閉じたいウインドウに、WM_CLOSEを送ってあげるのが正しいと思う。 で、閉じる側のウインドウでも、WM_CLOSEが来たら、…

コマンドで取れた値を成形する(Format-Table)

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと Get-AppxPackageコマンドとかをそのまま実行すると、ダーーーっとデータが縦に流れていって見えない。 できればエクセルの表みたいに、パッケージの名前とそのプロパティの値を横一列に並…

コマンドで取れた値の最初の5件だけ表示する

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと Get-AppxPackageコマンドとかをそのまま実行すると、PCに入っているパッケージが全部出てくるので、とりあえず3件だけだしたい、というときがたまにある。(コマンドでできることの実験を…

Assembly.LoadFile()でdllを読んで、そのdllの中のクラスでキャストをすると、InvalidCastException がでるときがある

C#

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと ↓に上げた実験コードのように、Winui3のPageとFrameを使った画面遷移のコードで、 Assembly.LoadFile()で読み込んだdllのなかのクラスのインスタンスを、 frameでページを指定して画面遷…

Unity6のインストールのしかた

もくじ https://tera1707.com/entry/2022/02/06/144447 前提 UnityHubのバージョン:3.5.1(←だいぶふるいっぽい。最新は3.9.1ですよ、という表示が出てた。) 入れようとしたUnity:6000.0.23f1 ※Unity Hubがすでにinstallされた状態から作業する。 Unity6…

デザインパターンの「Stateパターン」をC#でやってみる

C#

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと 組み込みソフトをやっているときに、このStateパターンに該当するようなソフトの作り・設計をよくやっていた。 (当時はStateパターンという言葉は知らなかったが) 状態遷移図 と 状態-…

コンソールでキー入力判定をする(Console.ReadKey())

C#

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと C#のコンソールアプリで、キーボードからなにか入力したことを知りたい。 やったこと Console.ReadKey() メソッドを使う。 エンターを押すとプログラムを終了するコードを書いた。 他のキ…

NUnitで、AbstractなTestクラスを作って、それを継承した複数のTestクラスでTestメソッドを共有する

C#

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと ほぼ同じテストを行う複数のクラスがあったときに、 似たテストクラスを何個も書かずに、共通化したい。 →やったこと① また、共通化したときに、ほとんどののテストメソッドは全クラスで…

PCに接続されているマイク(オーディオデバイス)を取得し、音量設定をする(EnumAudioEndpoints)(C#/CsWin32使用版)

C#

オーディオデバイス関連 もくじ https://tera1707.com/entry/2022/02/06/144447#COM やりたいこと 別の記事で、「CsWin32」というライブラリを使って、P/InvokeでWin32APIを呼ぶということをした。 で、そのCsWin32は、COMのinterfaceやインスタンスに対して…

QRCodeを作成する(ZXing使用)

C#

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと 指定の文字列を含むQRCodeを画面上に表示したい。 ZXingという便利なライブラリがあるらしい。試してみる。 実験コード https://github.com/tera1707/QRCodeJikken WPFのコード 下記のnug…

日付時刻とタイムゾーンの取得の仕方(std::chrono使用)

C++

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと 以前の記事で、システム時刻の取得と、それをタイムゾーンに合わせて出力する方法を調べた。 今どきは、それをもっとかっこよくやれるらしい。試してみる。 前提 C++20を使用。 ためした …

「バッテリー節約(~24H1)」と「省電力(24H2~)」と、それらに入ったことの検知

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと Windows10のときには、WM_POWERBROADCASTメッセージのPBT_POWERSETTINGCHANGEの中のPowerSettingがGUID_POWER_SAVING_STATUSのときのDataをみて、0だったらバッテリー節約を抜けた、0以外…

キーボードのキーを押したことにする(SendInput)

C#

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと 以前の記事で、キーボードを押したことにするというのをやった。 tera1707.com そのときは、「keybd_event」というAPIを使ってC++アプリで試作していたのだが、今回はC#アプリでpinvokeを…

C++でファイルに文字列を読み書きする(wofstream / wifstream)

C++

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと C++で、ファイルの読み書きをしたい。 が、FILE*とか、fopen()ではなく、新しいC++の方法でやりたい。 やったこと ifstream、ofstreamを使う。 実験コード #include <iostream> #include <fstream> #include <memory></memory></fstream></iostream>…

CsWin32でC#からWin32APIを使って、ウインドウを列挙し、そいつに好きなWindowsメッセージを送る

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと 好きなウインドウに、好きなWindowsメッセージを送りたいということがあった。 (WM_CLOSEとか、そういうやつ) 以前こちらの記事で、好きなウインドウにWM_CLOSEを送るということをしたの…