potisanのプログラミングメモ

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

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

Windows エクスプローラーの検索ボックスを便利に使う(Windows Search 3x)

エクスプローラーの検索ボックスで使える検索方法集です。詳細は末尾の公式ドキュメントを参照してください。Windowsのバージョンによっては内容が変わる可能性があります。 パターン指定 目的 記法 例 完全一致 ="キーワード" System.FileName:="テキスト.t…

C# COMオブジェクトのメソッドをデリゲート経由で呼び出す。

8/30追記 下記のthiscall呼び出し規約を指定したコードはx64で動作しますが誤りです。COMメソッドはSTDMETHODやSTDMETHOD_マクロによりstdcall呼び出し規約が指定されます。x86ではECXレジスタ上のthisが無視されてエラーになるはずです。 WindowsのCOMオブ…

Visual Studio 2022 C#のクラスライブラリをローカルリポジトリで再利用する

クラスライブラリは作っても場所を忘れて使わなくなってしまうことがありますが、ローカルリポジトリを作ってまとめておけば忘れにくくなり、管理も楽になります。 Visual Studio 2022でのローカルリポジトリへのクラスライブラリ登録は次の手順で可能です。…

C# imageres.dll.munからProgressRingのリソース(PNGデータ)を読み込む C#12 (.NET 8)版

過去の投稿のコードをC# 12 (.NET 8)版に書き換えたものです。nintやオブジェクト初期化子により少し簡潔になります。 非unsafe版 unsafe版 非unsafe版 using System.ComponentModel; using System.Runtime.InteropServices; [assembly: DefaultDllImportSea…

Win API SetupDi系関数とデバイスインターフェイスクラスのメモ

SetupDi系関数でデバイスインターフェイスクラスGUIDが取得できずに悩んだので、学んだことを記録します。結論、デバイスインターフェイスクラスGUIDはSDKヘッダーファイルの定数使用が正攻法です。cfgmgr32も使えるならCM_Enumerate_Classesで列挙できます…

数学 集合の部分集合(包含)の意外な関係式

詳細は集合の同一性の投稿を参照ですが、部分集合について次の関係式が成り立ちます。見かけの集合の大きさと実際の大きさは一致しません。 元の個数(要素数)についても次の関係式が成り立ちます。 まだ違和感はありますが、数学の奥深さでもあると感じま…

数学 集合の同一を満たす意外な関係式

本題 集合の同一性について驚いたのでメモします。 関係式①:。 感覚的にはですが、上記は集合の同一の定義より成立します。 集合の同一の定義は「」です。部分集合の定義は「」なので、「」です。部分集合が「同一個数の元」という制限を含まないので、もも…

Python&Windows&comtypes IShellItem COMクラスのラッパークラス

comtypesパッケージを使用したCOMのIShellItemクラスのラッパークラスです。comtypesの勉強用に作成したため、バグチェックやコメントは不十分です。 TODO: c_bool -> wintypes.BOOL shellitemパッケージ(ディレクトリ) queryassocパッケージ(ディレクト…

Python&Windows comtypesパッケージのメモ

comtypesパッケージの使用時に気付いたことのメモです。comtypesのバージョンにより挙動は変わる可能性があります。 IUnknown派生クラスは解放時にReleaseCOMメソッドが呼び出される。 参照カウンタを気にして自分で解放するとランダムでスレッド外アクセス…