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を送るということをしたの…

nlohmann.jsonでjsonファイルをシリアライズ・デシリアライズする

C++

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと C++のアプリで、jsonを読みたい。 人に聞いたところによると、nlohmann.jsonというライブラリがよいらしい。やってみる。 やったこと 準備 VisualStudio2022で、C++のプロジェクトを作る…

Windowsの設定画面をURIで起動する

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと Windowsの設定画面でいつも迷子になるので、よく使う設定画面をショートカットにしたい。 URI一覧 下記のMS公式に、開けるページの一覧がある。 https://learn.microsoft.com/ja-jp/windo…

変数のコピーとstd::moveによる所有権の移動

C++

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと あるとき、下記のようなコードを書いた。 class MyClass { private: FILE* fp; public: MyClass() { _wfopen_s(&fp, L"C:\\Users\\masa\\Desktop\\a.txt", L"r"); } ~MyClass() { auto re…

C++のバックグラウンドプロセスの作り方

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと 以前C#で、ウインドウが出ない、バックグラウンドアプリを作った。 https://qiita.com/tera1707/items/c48f13ea01c8615136cb 今回、C++でも同じように、ウインドウのないバックグラウンド…

新規ユーザー作成時に、指定のレジストリキーと値を設定しておきたい

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと Windowsのユーザーを新しくつくるときに、 作ったその新しいユーザーが、指定のレジストリキーと値を持った状態で出来てきてほしい。 そのユーザーの「HKCU」が、新しいユーザー作成時に…

バッチからレジストリに値を追加する(regコマンド)

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと レジストリエディタ(regedit)で、レジストリの値を追加したり変更したり、 regファイルを作成してレジストリの値を変更したりするのを以前やった。 今回は、バッチファイルからさっとレジ…

System.Threading.Timerのタイマーを使う

C#

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと System.Threading.Timerのタイマーを使ってみる 使い方 基本はこれ System.Threading.Timer? threadingTimer; private void Button_Click_1(object sender, RoutedEventArgs e) { Debug.W…

System.Timers.Timerのタイマーを使う

C#

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと C#で使えるタイマーにはいろいろあるらしい。 タイマーはかなりよく使うので今更とりたててなにかあるわけではないのだが、 なぜか毎回「どれを使えばいいんだったか?」となる。 動けば…