potisanのプログラミングメモ

趣味のプログラマーがプログラミング関係で気になったことや調べたことをいつでも忘れられるようにメモするブログです。はてなブログ無料版なので記事の上の方はたぶん広告です。記事中にも広告挿入されるみたいです。

2017-01-01から1年間の記事一覧

C# IContextMenuのGetCommandStringにリソースIDではまったときの記録

IContextMenuでメモ帳のコンテキストメニューの情報を取得していたら、説明(コンテキストメニューの項目選択時にステータスバーに表示される内容)の取得でメモリ例外が発生しました。簡単な状況と解決策をメモします。 例外の発生方法は次の通りです。 メ…

C# -9 Win32 API AssocGetPerceivedType関数のサンプルコード

WinAPIのAssocGetPerceivedType関数のサンプルコードです。 出力例 拡張子: .txt PerceivedType: Text Flags: Softcoded, NativeSupport 型: text 拡張子: .exe PerceivedType: Application Flags: Hardcoded 型: application 拡張子: .zip PerceivedType: C…

C# レジストリに登録されたCOMインターフェイスの情報を取得するクラスとサンプル

レジストリに登録されたInterface(HKCR\Interfaceのサブキー)の情報を取得するクラスCOMInterfaceInfoとそのサンプルコードです。 COMInterfaceInfoのソースコード COMInterfaceInfo.cs using System; using System.Collections.Generic; using System.Dia…

C# HRESULTからWin32エラーコードへ変換する関数群

namespace ConsoleApp1 { class Program { static void Main() { const int hr = unchecked((int)0x8007007a); var facility = Utility.GetHRFacility(hr); var win32errcode = Utility.GetWin32ErrorCodeFromHR(hr); } } public static partial class Utili…

C# バイトサイズを文字列に変換する関数群

バイトサイズを文字列に変化する関数群のサンプルコードです。Shell Lightweight Utility Functions(Microsoft)の仕様変更により、Windows 10からは1 KB = 1000バイトであることに注意してください。 using System; using System.ComponentModel; using Sy…