c# - 如何在 ProcessID C# 上找到窗口句柄
问题描述
我正在尝试查找具有特定名称的进程,查看 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'
句子,所以花括号必须匹配。
你真的应该用匹配的大括号更好地格式化你的代码,然后你会避免这样的问题。
推荐阅读
- java - 将字符串解析为整数
- ios - iOS IBOutlet 非零,不知何故被清除为零
- variables - 在最新的 Selenium IDE 中变量未增加
- reactjs - 如何将 React SPA 应用程序正确托管为 IIS 应用程序?
- regex - extract text from cells after string pattern in Excel
- octave - How to get the environment decimal separator in Octave
- sql - Case Statements in SQL - Nature of the Process
- java - Java EE:使用构造函数注入时 CDI 失败
- python - 使用scrapy在Stack Overflow中进行网络抓取,但我无法获得问题的投票
- python - How to permanently add values to python dictionaries