potisanのプログラミングメモ

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

2021-08-01から1ヶ月間の記事一覧

C++20&Win API ACPIテーブルIDを整数・文字列として列挙する

ACPIテーブルIDを整数・文字列として列挙する。 #include <format> #include <iostream> #include <vector> #define STRICT #define NOMINMAX #include <Windows.h> namespace SysInfoUtil { std::vector<DWORD> EnumSystemACPITableIDs() noexcept { auto buffer_size = ::EnumSystemFirmwareTables('ACP</dword></windows.h></vector></iostream></format>…

C# 9&Win API システムメニューを表示する

システムメニューを表示するサンプルコードです。 #nullable enable using System; using System.Drawing; using System.Runtime.InteropServices; using System.Windows.Forms; static class Program { [STAThread] static void Main() { Application.SetHi…

C# 9&Win API ウィンドウのクライアント領域のボタン降下でウィンドウを移動させる

ウィンドウのクライアント領域のボタン降下でウィンドウを移動させるサンプルコードです。ウィンドウはシステムに対してカーソルの位置を自身のWM_NCHITTESTメッセージで指定できることを利用します。 #nullable enable using System; using System.Drawing;…

Firefox 91.0でDuckDuckGo Privacy Essentialsがはてなブログの記事編集を妨げていた

Firefox(厳格モード、uBlock Origin導入)でCookieブロックをオフにしてもはてなブログに「サードパーティーのcookieが無効になっています」が表示されました。ブログのドメインとhttps://blog.hatena.ne.jpを例外指定して色々と弄ったところ、原因はDuckDu…

C# 9 リストビューの高速化ならItems.AddRangeも選択肢

リストビューに大量のアイテムをListView.Items.Addメソッドで追加していたら律速になっていました。仮想リストビューも一つの手ですが、項目が多い場合はListView.Items.AddRangeで高速化できる場合があります。 listView1.BeginUpdate(); // infosという配…