たぷつきません

おなかがでてきた。もうたぷついてるやん。

作業領域変更で位置を自動補正するWindowの挙動を抑制する手立てなし。

 Formsと違って、WPFでAPPBARを作りにくい。どうしてもデスクトップの作業領域の変更でとんでくるWM_SETTINCHANGEで、WPFのデフォルトWndProcが、作業領域内にウィンドウを納めようとして座標を変更してしまう。自身が作業領域外に配置すべきAPPBARなのにもかかわらず。
 サンプルコードがこちらで紹介されているので簡単にForms版とWPF版での違いが確かめられる。
 で色々調べたがどうもWindowを使っている限りダメで、AddHookじゃ遅く、handledする前に座標を変えられてしまっている。ひどい話だ。HwndSourceを自前でしこしこ作成して、独自のウィンドウを作らないとならない感じ。途中までやってみたが。ほとんどWindowをベースに散々開発しているので不具合が出まくる。そもそもAPPBAR化しているのはメインウィンドウだし、ちょー参る。
 仕方ないので今は座標変更されたら戻すようにしているんだがチラつきがイヤな感じ。Googleサイドバーとか併用していたらそっちをリサイズするたびに動くので気持ち悪い。マルチモニタで別モニタでやってもなるし。orz