В моето Windows приложение имам една функция, която трябва да изпълнявам на всеки 6 секунди. така че използвам System.windows.forms.Timer
лента с инструменти -> Задайте нейния интервал 6000ms и извикайте тази функция на това събитие на таймера
private void tmrConnectionStatus_Tick(object sender, EventArgs e)
{
CheckClientConnectinStatus();
}
работи перфектно, но когато извиквам друго приложение на Windows чрез функцията по-долу .. не работи, докато или освен ако не се върна от това приложение към основното приложение
clsLogs.LogEvent(3, "==============Call to PNS ==============");
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = strVendorfile; //Vendors exe
startInfo.Arguments = ""; //CSV file path
clsLogs.LogEvent(1, "SmartTracker to PRINT-N-SPECT:" + System.DateTime.Now);
objProcess = Process.Start(startInfo);
Lable:
Process[] appProc;
string strModName, strProcName;
strModName = Process.GetCurrentProcess().MainModule.ModuleName;
strProcName = "PnS";
appProc = Process.GetProcessesByName(strProcName);
if (appProc.Length > 0)
{
Thread.Sleep(5000);
goto Lable;
}
Искам да знам Има ли някакъв начин да използвам таймер или друг метод, чрез който да работя непрекъснато във фонов режим, дори ако се фокусирам върху друго приложение.