Я пытаюсь найти процесс с определенным именем, посмотреть, существует ли Class: CTX WndClass, если он есть ... ничего не делать, цикл проверки каждые 30 секунд.
Если это не так, подождите 30 секунд и проверьте, работает ли он сейчас, не закрывает ли процесс.
Это то, что у меня есть до сих пор, но он говорит мне, что ожидает "}" в строке 51, и я не понимаю, почему, смеется.
Это проблема, прямо перед else:
private static void FindMain(int handle)
{
// Get the class.
StringBuilder sbClass = new StringBuilder(256);
GetClassName(handle, sbClass, sbClass.Capacity);
if (sbClass.Length == 0)
System.Threading.Thread.Sleep(30000);
foreach (var process in Process.GetProcessesByName("ARS.exe"))
{
process.Kill();
}
else
FindMain(handle);
}
}
.





Ваш код должен выглядеть так:
if (sbClass.Length == 0)
{
System.Threading.Thread.Sleep(30000);
foreach (var process in Process.GetProcessesByName("ARS.exe"))
{
process.Kill();
}
}
else
{
FindMain(handle);
}
Вам не хватает фигурных скобок. Предложение 'else' принадлежит предложению 'if', поэтому фигурные скобки должны совпадать.
Вам действительно стоит лучше отформатировать свой код с соответствующими фигурными скобками, выстроенными в линию, тогда вы избежите таких проблем.