我想使用用C++/cli創建的.dll文件,該文件包含c#wpf項目中的普通c代碼。 c代碼的功能需要永久調用。這個函數在一個c命令行應用程序的主函數中被直接調用。無限期調用方法
如何從wpf c#項目永久調用一個函數而不干擾其他應用程序?我想這應該是非常簡單的,但林新的wpf和相當新的。淨。
我想使用用C++/cli創建的.dll文件,該文件包含c#wpf項目中的普通c代碼。 c代碼的功能需要永久調用。這個函數在一個c命令行應用程序的主函數中被直接調用。無限期調用方法
如何從wpf c#項目永久調用一個函數而不干擾其他應用程序?我想這應該是非常簡單的,但林新的wpf和相當新的。淨。
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();
您可以在另一個thread上有while(true)
循環。
如果我理解正確,你想要做的就是繼續調用方法嗎?使用計時器:
將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();
定時器都會在每一個刻度運行你的方法,你可以在匿名方法編寫額外的代碼來控制多久/你的方法被調用多少次,當它被調用,所以上。當然,它不會干擾您的其他程序。
如果你想盡可能經常打電話給你的程序中,在第二行以1
非常感謝您的幫助。使用另一個線程也可能起作用,但我更願意使用一個線程來避免多線程問題。 – user1550097 2012-07-28 20:33:21
@ user1550097:你意識到定時器通常也在創建新線程,對吧? – 2012-07-29 04:46:02
替換x什麼是「永久的電話」是什麼意思? – 2012-07-28 19:26:58
在嵌入式編程中,我們調用每5或10毫秒(永久)調用的函數Perm-Functions。我無法理解「無限期」所謂的調用方法。 – user1550097 2012-07-28 20:30:45