potisanのプログラミングメモ

プログラミング素人です。昔の自分を育ててくれたネット情報に少しでも貢献できるよう、情報を貯めていこうと思っています。Windows環境のC++やC#がメインです。

2024-10-01から1ヶ月間の記事一覧

雑記 はてなブログ無料版でもはてなブログタグ無効化可能

はてなブログタグは無料版で強制適用でしたが、2023年7月31日辺りから無効化可能になっていたようです。既定では有効なのでブログごとにアプリ外の詳細設定から無効化する必要があります。また有効化時に投稿された記事は適用されたままなので、個別に更新し…

C# プラットフォーム呼び出しはローカル関数として書ける

C#

ネット投稿を読んで知ったのですが、最近のC#ではプラットフォーム呼び出し (P/Invoke)をローカル関数として書けます。ローカル関数のドキュメントには確かにexternの記載があります。通常のローカル関数を書ける部分なら書けるので、メソッド、プロパティ、…

C# シェルの「shell:~」形式からパスを取得する2

過去の投稿では関数を小分けにしていましたが、一つの機能としてまとめる関数を作成しても良いと思います。ついでに投稿後に追加されたトップレベルステートメントも使用しています。 using System.Runtime.InteropServices; Console.WriteLine(ShellIDListU…

C#&.NET 8.0 WinFormsプロジェクトの依存フレームワークにMicrosoft.Windows.SDK.NET.Refが追加された。

以下の手順でWinFormsプロジェクトの依存フレームワークにMicrosoft.Windows.SDK.NET.Refが追加されて、ビルド後のファイルにWinRT.Runtime.dll (391 KB)とMicrosoft.Windows.SDK.NET.dll (200,076 KB)が追加されました。DLLは両方削除してもおそらく対応す…

C# Parallel.For/ForEachとConcurrentBagによる同期化

C#

C#における同期処理の知識がBackgroundWorkerやTaskで止まっていたのですが、ParallelとConcurrentBagを使ったら非同期処理を簡単に同期処理に変更できました。マルチスレッドになるのでリソースの同時アクセスには注意が必要ですが、各スレッドでそれぞれフ…