.NET 6のコンソールアプリからWin32 APIを呼び出し、プログラムでディスプレイの解像度を変更する方法を解説します。`DllImport`属性を使ったAPI関数の定義、`StructLayout`での構造体マーシャリング、そしてコンソールアプリでWinFormsライブラリを参照して…
.NET 6環境のC#からWin32 APIを呼び出す方法を、Windowsタスクバーの表示/非表示を切り替えるサンプルを通じて解説します。`DllImport`属性を使ったAPI関数の定義、`StructLayout`での構造体マーシャリング、そして`SHAppBarMessage`関数で実際にタスクバー…
C#の自己参照クラス(連結リストなど)をJSONにシリアライズするとどうなるか、実験を通して解説します。片方向の参照は美しい入れ子構造になりますが、双方向の参照は「循環参照エラー」を引き起こします。この記事では、エラーが発生する理由と、`[JsonIgn…
C#開発で多用される`Console.WriteLine`でのデバッグに限界を感じていませんか?本記事では、なぜ熟練開発者がロギングライブラリ「NLog」を選ぶのか、その理由を解説します。Visual Studioでの導入から、設定ファイル(NLog.config)によるファイル・コンソー…
NLogやLog4Netのログをリアルタイムで表示できる便利ツール「Log2Console」ですが、日本語が文字化けする致命的な問題がありました。本記事では、この文字化けを解決した修正版の導入方法と、その効果を解説します。修正済みの実行ファイルはGitHubで公開中…