Technically Impossible

Lets look at the weak link in your statement. Anything "Technically Impossible" basically means we haven't figured out how yet.

20211220

https://espio999.tumblr.com/post/36849560527/%E5%81%BD%E3%82%8A%E3%81%AE%E6%88%90%E7%86%9F
espio999.tumblr.com


前日比騰落順

ひふみらいと 0.01% 101.40
ひふみワールド -0.72% 122.02
ポートフォリオ -1.59% 105.29
ひふみ投信 -2.02% 99.26
日経平均 -2.13% 101.80
TOPIX -2.17% 107.57
さわかみ -2.20% 108.04

年始来パフォーマンス順

ひふみワールド -0.72% 122.02
さわかみ -2.20% 108.04
TOPIX -2.17% 107.57
ポートフォリオ -1.59% 105.29
日経平均 -2.13% 101.80
ひふみらいと 0.01% 101.40
ひふみ投信 -2.02% 99.26

1 Shot Snap

impsbl.hatenablog.jp
キーボード・イベントの監視処理、スクリーンショットの保存処理をスレッド化したものの、甲斐なくアプリケーションはまだ落ちるときがある。
推察通り、キーボード・イベントの監視中にアプリケーションが落ちている。原因はNull参照。

.NET Runtime

Application: 1PushSnap.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.NullReferenceException

Application Error

Faulting application name: 1PushSnap.exe, version: 1.0.2.0, time stamp: 0xe90f0150
Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000
Exception code: 0xc0000005
Fault offset: 0x00007ffb711054b1
Faulting process id: 0x3a7c
Faulting application start time: 0x01d7f591e50eb52c
Faulting application path: C:\myapp\1PushSnap\1PushSnap.exe
Faulting module path: unknown
Report Id: 2e7df767-3ffb-46d2-9378-227da80f6e91
Faulting package full name:
Faulting package-relative application ID:

キーボードのタイプ中、入出力がつまずくような、もたつくような感触を得るときがある。そのようなタイミングでタスクマネージャーを確認すると、しばらくして1 Push Snapが一覧から消える。
おそらく障害はこの処理で起きている。

int snap_trigger = (int)wParam;
Keys key = (Keys)(short)Marshal.ReadInt32(lParam);

ここにエラー処理と、エラー発生時の規定値を設定すれば、障害は回避できるのではないか、と期待している。