如何在进程 ID C# 上查找窗口句柄



我正在尝试查找具有特定名称的进程,查看类:CTX WndClass是否存在,如果存在..不做任何事情,每30秒循环一次检查。

如果没有,请等待 30 秒,看看它现在是否这样做,如果它没有关闭进程。

这就是我到目前为止所拥有的,但它告诉我它期待第 51 行的"}",我不明白为什么哈哈。

这就是问题所在,就在其他人之前:

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'句子,因此大括号必须匹配。

您应该使用匹配的大括号更好地格式化代码,然后您将避免此类问题。

最新更新