阅读量:0
在C#中调用EnumChildWindows函数时,需要注意错误处理。以下是一个示例代码,展示了如何处理EnumChildWindows函数的错误:
using System; using System.Runtime.InteropServices; class Program { // 声明EnumChildWindows函数 [DllImport("user32.dll")] public static extern bool EnumChildWindows(IntPtr hWndParent, EnumChildProc lpEnumFunc, IntPtr lParam); // 定义EnumChildProc委托 public delegate bool EnumChildProc(IntPtr hWnd, IntPtr lParam); // EnumChildProc的实现 public static bool EnumChildCallback(IntPtr hWnd, IntPtr lParam) { // 处理每个子窗口的逻辑 return true; } static void Main() { IntPtr parentHandle = IntPtr.Zero; // 父窗口的句柄 // 调用EnumChildWindows函数 if (!EnumChildWindows(parentHandle, EnumChildCallback, IntPtr.Zero)) { int error = Marshal.GetLastWin32Error(); Console.WriteLine("EnumChildWindows failed with error code: " + error); } } }
在示例代码中,EnumChildWindows函数调用失败时会通过Marshal.GetLastWin32Error()
获取错误代码,并输出到控制台。开发者可以根据具体情况进行错误处理,例如显示错误信息、记录日志等。