【解決】64bit専用でビルドしないと、win32APIとの受け渡しでエラーになる様子
Any CPUでコンパイルしたものを、64bit環境で実行すると
「算術演算の結果オーバーフローが発生しました。」が出るようです。
WndProcをオーバーライドしなければ出ないのですが・・・
protected override void WndProc(ref Message m) { if (!windowMenuRuler.WindowMenuProc(ref m)) base.WndProc(ref m); }
以前よりエラー報告していただいていたのですが、自分の環境では再発しなかったので対応がとれなかったのですが。
1.何としてもANY CPUで通す方法をみつける
2.実態を別Exeにして、ANYとx64でコンパイルしたものを呼び出しプログラムで判別して呼び出す方法
これが解決しないと、メッセージで処理させる方法が使えないです。
追記19:43
原因は、はずかしいことに受け取ってる側で、intPtrの値を無条件にToInt32()で変換してました。
いままで、これで落ちた原因はこれなのかー
総点検してきます。お騒がせしました