プログラム系統備忘録ブログ

記事中のコードは自己責任の下でご自由にどうぞ。

NotifyIconのContextMenuStripをメインディスプレイ限定で表示させたい

(21:30頃: 対応後のコードにて使用していたScreen.PrimaryScreen.BoundsScreen.FromPoint(point).Boundsに変更)

NotifyIconにContextMenuStrip(=右クリック時のポップアップメニュー)を設定して表示する通常の方法だと、メインディスプレイのタスクバー表示位置が左側に、かつサブディスプレイが左側にある環境では、NotifyIconの右クリックメニューがサブディスプレイに表示されてしまいます。 本記事ではその現象をリフレクションを使うことで回避し、常にメインディスプレイにてNotifyIconの右クリックメニューを表示する方法を紹介します。

続きを読む

Utf8JsonWriterがエスケープする文字を自作JavaScriptEncoderで減らしたい

.NET Core 3.0にてUtf8JsonWriterが追加されました。 Json.NETjson書き出しをしている箇所をUtf8JsonWriterに変えようとしたら、Utf8JsonWriterの文字列書き出しでハマったので紹介します。

続きを読む

Beginners CTF 2019 write-up

Beginners CTF 2019に、一人チーム「rotation」で参加しました。 CTFはksnctfに取り組んでいましたが、コンテストへの参加は初めてです。 普段C#を書いているので、ちょっとしたことにはC#を使いました。

環境: Win10 Version 1809 + Windows Subsystem for Linux(Ubuntu 18.04.2 LTS)

続きを読む

FOFX_RECYCLEONDELETEやFOFX_ADDUNDORECORDの振る舞いの実験

確認環境: Windows 10 Version 1809 (OS Build 17763.134), Microsoft Visual Studio Community 2017 Version 15.9.2
IFileOperation関係の前の記事: IFileOperation::NewItem()の使用例

IFileOperation::SetOperationFlagsのドキュメントを読んでも FOFX_ADDUNDORECORD, FOFX_RECYCLEONDELETE が FOF_ALLOWUNDO とどのように違うのかピンとこないので実験しました。

続きを読む