-1

通常の c コードを含む c++/cli で作成された .dll を c# wpf プロジェクトで使用したいと考えています。C コードの関数には、永続的な呼び出しが必要です。この関数は、もともと ac command-line-application のメイン関数の無限ループで呼び出されました。

アプリケーションの残りの部分に干渉することなく、wpf c# プロジェクトから関数を永続的に呼び出すにはどうすればよいですか? それはかなり簡単だと思いますが、私はwpfが初めてで、.Netもかなり初めてです。

4

3 に答える 3

1

別のスレッドwhile(true)でループを作成できます。

于 2012-07-28T19:05:49.070 に答える
1

私の理解が正しければ、メソッドを呼び出し続けるだけでよいのでしょうか? タイマーを使用します。

using System.Windows.Threading;ファイルの先頭に含めます。次に書く:

DispatcherTimer timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromMilliseconds(x); //x is the amount of milliseconds you want between each method call

timer.Tick += (source, e) =>
{
    method();
};
timer.Start();

タイマーはティックごとにメソッドを実行し、匿名メソッドに追加のコードを記述して、メソッドが呼び出される頻度/回数、呼び出されるタイミングなどを制御できます。もちろん、プログラムの残りの部分に干渉することはありません。

プログラムをできるだけ頻繁に呼び出したい場合は、2 行目の x を 1 に置き換えます。

于 2012-07-28T19:13:38.253 に答える
0
using System.Threading;

Thread t = new Thread(()=>{
while(true)
{
//call your method here...
Thread.Sleep(500); //optional if you want a pause between calls.
}
});
t.IsBackground = true;
t.Start();
于 2012-07-28T19:27:51.983 に答える