记录一下,获取/修改此处提示:
public class StatusBar
{
private static IntPtr m_statusBar = IntPtr.Zero;
/// <summary>
/// Initializes the <see cref="StatusBar"/> class.
/// </summary>
/// <author>YangSen</author>
static StatusBar()
{
IntPtr mainWindowHandle = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle;
if (mainWindowHandle != IntPtr.Zero)
{
m_statusBar = FindWindowEx(mainWindowHandle, IntPtr.Zero, "msctls_statusbar32", "");
}
}
/// <summary>
/// 设置提示内容.
/// </summary>
/// <param name="prompts">The prompts.</param>
/// <author>YangSen</author>
public static void SetPrompts(string prompts)
{
try
{
if (m_statusBar != IntPtr.Zero)
{
SetWindowPos(m_statusBar, 0, 0, 0, 0, 0, 0x37);
SetWindowText(m_statusBar, prompts);
}
}
catch (Exception ex)
{
}
}
public static string GetPrompts()
{
int length = GetWindowTextLength(m_statusBar);
StringBuilder windowName = new StringBuilder(length + 1);
GetWindowText(m_statusBar, windowName, windowName.Capacity);
return windowName.ToString();
}
[DllImport("user32.dll")]
public static extern int GetWindowTextLength(IntPtr hWnd);
[DllImport("User32.dll", CharSet = CharSet.Auto)]
public static extern int GetWindowText(IntPtr hWnd, StringBuilder text, int nMaxCount);
[DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
[DllImport("user32.dll", SetLastError = true)]
public static extern bool SetWindowPos(IntPtr hwnd, int hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags);
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern int SetWindowText(IntPtr hWnd, string lpString);
}