直接上代码
/// <summary> /// 获取窗体的名称 /// </summary> /// <param name="hWnd"></param> /// <param name="lpString"></param> /// <param name="nMaxCount"></param> /// <returns></returns> [DllImport("user32.dll")] public static extern int GetWindowTextW(IntPtr hWnd, IntPtr lpString, int nMaxCount); [DllImport("user32.dll")] static extern int SetWindowText(IntPtr hWnd, string text); private const int NumChars = 256; public static string GetWindowTitle(IntPtr hwnd) { IntPtr intPtr = Marshal.AllocHGlobal(NumChars); GetWindowTextW(hwnd, intPtr, 100); var s = Marshal.PtrToStringUni(intPtr); Marshal.FreeHGlobal(intPtr); return s; } private async Task StartMyNotepad() { IntPtr handle = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle; var setResult = SetWindowText(handle, "测试进程"); Console.WriteLine(GetWindowTitle(handle)); this.Visibility = Visibility.Collapsed; }
需要再Load完成后再调用 StartMyNotepad()佛足将设置失败