DOBON.NET DOBON.NETプログラミング掲示板過去ログ

user32.dllのsetFocusで一部環境でエラーになる

環境/言語:[C#]
分類:[.NET]

今現在1000人以上使っているソフトで2人だけ user32.dllのsetFocusをした際に
以下のエラーが出て落ちてしまいます。

System.AccessViolationException: 保護されているメモリに読み取りまたは書き込み操作を行おうとしました。他のメモリが壊れていることが考えられます。


実際にその現象が発生するパソコンがあればいろいろ調べられるのですが
一般向けに販売しているソフトなのでそうもいかずどうしたものか悩んでいます。
エラーメッセージの通りメモリのハードウェア障害の可能性もゼロではないのですが 他のソフトは全く問題が起きていないとのことでなんとも言えないところです。


環境は.netframework3.5 C#上から user32.dllのsetFocusを呼び出しています。
問題のユーザーのOSは Windows7 32bitと(SP1は適用していない)とWindows7 SP1 32bitです。

何か心あたりのことや確認方法等ありましたら教えてください。

よろしくお願いいたします。
> 環境は.netframework3.5 C#上から user32.dllのsetFocusを呼び出しています。
> 問題のユーザーのOSは Windows7 32bitと(SP1は適用していない)とWindows7 SP1 32bitです。

  http://msdn.microsoft.com/ja-jp/library/cc411074.aspx

  ここの、『任意のスレッドは AttachThreadInput 関数を・・・』の
  部分を読んで勉強して下さい。

  Win7で発生している・・・と言うことの意味が解ると思いますが。

以上。
どこかで似た話のレスしたナ〜と思ったら、ここの掲示板で以前に
レスしてました。

http://dobon.net/cgi-bin/vbbbs/cbbs.cgi?mode=al2&namber=29698&no=0

この中の・・・

http://d.hatena.ne.jp/gsf_zero1/20071211/p1

これ、参考になりますか?

以上。

DOBON.NET | プログラミング道 | プログラミング掲示板