potisanのプログラミングメモ

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

2020-04-01から1ヶ月間の記事一覧

PowerShell 7 短いCMI(WMI v2)サンプルコード集

PowerShell 7でCMI(WMI v2)を使う短いサンプルコード集です。 WindowsのOS情報を取得する WindowsのOS情報から個別情報を取得する WindowsのBIOS情報を取得する USBコントローラーデバイス一覧を取得する マウスやトラックパッドなどのポインティングデバ…

PowerShell Get-WmiObjectとGet-CimInstance(WMIコマンドレットとCMIコマンドレット)

2021/3/10:この記事は別のブログで投稿した記事を移動したものです。 概要 Get-WmiObjectはWMI v1 コマンドレットであり、PowerShell Core以降は削除されている。 Get-CimInstanceはCMI(WMI v2)コマンドレットであり、PowerShell Core以降から提供されて…

JavaScript 文字列とサロゲートペアの注意

2021/3/10:この記事は別のブログで投稿した記事を移動したものです。 まえがき 間違ったコードと注意点 正しいコード 備考:文字列のlengthとArray.from関数 まえがき JavaScriptの文字列はUTF-16なのでサロゲートペアを含みます(少なくとも2019年12月6日…

Python 3.8 基本的なデコレータサンプル集

2021/3/10:この記事は別のブログで投稿した記事を移動したものです。 Python 3.8用の基本的なデコレータのサンプル集です。デコレータのテスト用に作成したコード一覧でもあります。 関数をそのまま呼び出すデコレータ 関数の引数をある定数のみにするデコ…

Python 3.8 デコレータ(decorator)の基本的な動作

2021/3/10:この記事は別のブログで投稿した記事を移動したものです。 Python 3.8にはデコレータと呼ばれる機能があります。代表的なものは@staticmethodや@classmethodであり、@名前として関数やクラスの前に付けて使われます。 このデコレータ、実態は関数…

PowerShell 7 基本的な配列作成方法の比較

#2要素以上はa, b, ... 1, 2, 3 #1要素は,a ,0 #0要素以上は@( ) @() @(1) @(1, 2, 3) #範囲はa..b 2..5 PowerShell 7ではa, b, c形式で配列が作成できますが、この方法では0要素、1要素の配列が作成できません。これを解決するために1要素には,x、0要素以上…

PowerShell 7 小物類

PowerShell7の短いコードや覚書です。 有用なページ PowerShell Gallery - Microsoft DevBlogs PowerShell - Microsoft Scripting Blog - Microsoft 文字列配列からURLとして不正な要素を除外する Add-Type -Assembly System.Web $values1 = "あいうえお", "…

PowerShell 7 演算子一覧

演算子の一覧 一般演算子 特殊演算子 各演算子の用法 -matchの用例 参考 以下では特殊演算子以外を一般演算子として表記しています。和訳も便宜上のものです。適切な名前があればご指摘いただけると嬉しいです。 演算子の一覧 一般演算子 分類 演算子 算術演…

PowerShell 7 クリップボードの文字列から特定フォルダ以下のフォルダを開く

メイン PowerShell 7でクリップボードの文字列から特定フォルダ以下のフォルダを開くソースコードです。 $basePath = <特定フォルダの絶対・相対パス> $paths = (Get-Clipboard) -split "`r`n" foreach ($path in $paths) { $fullpath = Join-Path $basePath…

C# 8 HTMLのスクリプト要素の一部をJSONとして抜き出す

C#

2021/3/10:この記事は別のブログで投稿した記事を移動したものです。 C# 8.0でHTMLのスクリプト要素の一部をJSONとして抜き出す方法の覚書です。この投稿ではSystem.Text.Json.JsonDocumentクラスを用いて不定形のJSONを扱います。スクリプト要素の一部がJS…

PowerShell 7 文字列配列の各要素を小文字化&置換

2021/3/10:この記事は別のブログで投稿した記事を移動したものです。 PowerShell 7で文字列配列の各要素を小文字化、置換するサンプルコードです。 test.ps1 #文字列を改行`r`nで分割して文字列配列を作成 $modelNames = "abc`r`nde f`r`n g hi" -split "`r…

C# 8-9 MemoryStreamとStreamWriterを組み合わせるときの注意点と対処

C#

C#でMemoryStreamとStreamWriterを組み合わせて使ったら遭遇した想定外の仕様を注意点と対処として記録します。 StreamWriterはFlushを呼び出すまでMemoryStreamへ書き込まれない 失敗するコード using var、トップレベルステートメント(C# 9.0) using {..…

C# 8-9 UTF8EncodingのBOM出力とBOMを付けない方法

C#

2021/3/10:この記事は別のブログで投稿した記事を移動したものです。 C#でUTF8EncodingがBOMを出力することを確かめるにはGetPreambleメソッドを呼び出すかStreamWriterへ書き込みます。また、BOMを付けないにはUTF8Encodingのコンストラクタを引数なしまた…

Python 3.4 Windowsクリップボード操作クラス

Python 3.4からAPIをがしがし呼び出してWindowsのクリップボードを操作するクラスです。tkinterを使った書き込みが出来なかったので勉強がてら作ってみました。ウィンドウ関係の関数は敢えて外してあります。 大雑把な更新履歴 ソースコード サンプルコード …

Python 3.8 スライス関係の覚書

2021/3/10:この記事は別のブログで投稿した記事を移動したものです。 Python 3.8のスライス操作a[1:2:3]、スライスクラス<class 'slice'>、__getitem__メソッドに関する覚書きです。主な用語は公式ドキュメントの6.3.3. スライス表記 (slicing)、6.17. 演算子の優先順位、3</class>…

Python 3.8 チップス

2021/3/10:この記事は別のブログで投稿した記事を移動したものです。 Python3を触っていてエラーが発生したり調べたことのひたすらメモです。短いもの主体なのでチップスの名前を使っています。 arrayはリスト内包記法でリストに変換される ctypesにはmemmo…

Win32 API NTSTATUSの覚書

Win32 APIの一部関数で実行結果を表す戻り値の型に使われるNTSTATUS型の覚書です。 C++ C++で使用する場合の情報です。 定義 ntstatus.hで32ビット符号付き整数(int)のエイリアスとして定義されます1。Win32 Errorのint型、HRESULTもintなので相互に代入可…

C# .NET Core 3.1 NtQuerySystemInformation関数でSystemProcessInformationを取得するコード

C#

2021/3/10:この記事は別のブログで投稿した記事を移動したものです。 C# (.NET Core 3.1)でNtQuerySystemInformation関数を用いてSystemProcessInformationの情報を取得するコードの覚書です。動作確認環境はMicrosoft Visual Studio Community 2019 Versio…