using System.Runtime.InteropServices; using Sai.Toolkit.Revit.Helpers; namespace Sai.Toolkit.Revit.UserControls; public class StatusBarAssist { private IntPtr statusBar = IntPtr.Zero; protected StatusBarAssist() { // 找到状态栏,这样我们就可以添加信息了。 var revitHandle = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle; if (revitHandle != IntPtr.Zero) { statusBar = KeyIntPtrHelper.FindWindowEx(revitHandle, IntPtr.Zero, "msctls_statusbar32", string.Empty); } } /// /// 如果状态栏有有效句柄,则设置状态栏的值。 /// /// The message. public void Set(string msg) { if (statusBar != IntPtr.Zero) { KeyIntPtrHelper.SetWindowText(statusBar, msg); } } /// /// 创建一个新的 StatusBarAssist。 /// /// The StatusBarAssist. public static StatusBarAssist Create() { return new StatusBarAssist(); } }