-1

我想使用使用 c++/cli 创建的 .dll,其中包含 c# wpf 项目中的普通 c 代码。c 代码的函数需要永久调用。此函数最初是在 ac 命令行应用程序的主函数中无限循环调用的。

如何从 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();

计时器将在每次滴答时运行您的方法,您可以在匿名方法中编写额外的代码来控制调用您的方法的频率/次数、调用时间等。当然,它不会干扰您的程序的其余部分。

如果您想尽可能频繁地调用您的程序,请将第二行中的 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 回答