■7786 / ) |
コールバック関数からコントロールの操作 |
□投稿者/ cona 二等兵(10回)-(2006/10/26(Thu) 17:39:50)
|
分類:[C#]
分類:[C#]
いつもお世話になっています。
MSDNに以下のコールバック関数を実装するサンプルがありますが、 http://msdn2.microsoft.com/ja-jp/library/843s5s5x.aspx
using System; using System.Runtime.InteropServices;
public delegate bool CallBack(int hwnd, int lParam);
public class EnumReportApp {
[DllImport("user32")] public static extern int EnumWindows(CallBack x, int y);
public static void Main() { CallBack myCallBack = new CallBack(EnumReportApp.Report); EnumWindows(myCallBack, 0); }
public static bool Report(int hwnd, int lParam) { Console.Write("Window handle is "); Console.WriteLine(hwnd); return true; } }
これをフォームアプリケション上で実行するときに、 次のことを同時に実現できなくて困っています。
・EnumWindowsは別スレッドで実行すること ・コールバック関数内から、結果を逐次フォームに表示すること
1つ目は簡単にできますが、2つ目をしようとするとコールバック関数でInvokeする 必要があり、ビルドの時点で「静的でないメソッドが。。。」とエラーになります。
何かよい知恵はないものでしょうか? 宜しくお願い致します。
環境:WindowsXP VS2005Pro
|
0
|