C# 调用API枚举窗体,根据标题还原窗体
C# 调用API枚举窗体,根据标题还原窗体C# Code:
public partial class Form1 : Form
{
public const int SW_RESTORE = 9; //与 SW_SHOWNORMAL 1 相同
public const int SW_SHOWMAXIMIZED = 3;
[DllImport("user32", SetLastError = true)]
public static extern int GetWindowText(
IntPtr hWnd,//窗口句柄
StringBuilder lpString,//标题
int nMaxCount //最大值
);
[DllImport("user32.dll", EntryPoint = "ShowWindow", CharSet = CharSet.Auto)]
public static extern int ShowWindow(IntPtr hwnd, int nCmdShow);
/// <summary>
/// 枚举窗体的回调函数
/// </summary>
/// <param name="hWnd"></param>
/// <param name="lParam"></param>
/// <returns></returns>
public delegate bool EnumWindowsProc(IntPtr hWnd, IntPtr lParam);
[DllImport("user32")]
public static extern int EnumWindows(EnumWindowsProc hWnd, IntPtr lParam);
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
EnumWindowsProc callBack = new EnumWindowsProc(OpenOldWindow);
int i = EnumWindows(callBack, IntPtr.Zero);
}
/// <summary>
/// 枚举窗体的回调函数,还原显示已打开的帮助文档
/// </summary>
/// <param name="hWnd"></param>
/// <param name="lParam"></param>
/// <returns></returns>
public bool OpenOldWindow(IntPtr hWnd, IntPtr lParam)
{
StringBuilder sb = new StringBuilder(255);
GetWindowText(hWnd, sb, sb.Capacity);
if (sb.Length > 0)
{
//匹配窗体的标题成功,表示帮助文档已经打开,还原窗体
if (sb.ToString().IndexOf(@txtCaption.Text) >= 0)
{
ShowWindow(hWnd, SW_RESTORE);
ShowWindow(hWnd, SW_SHOWMAXIMIZED);
return false;
}
}
return true;
}
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
public partial class Form1 : Form
{
public const int SW_RESTORE = 9; //与 SW_SHOWNORMAL 1 相同
public const int SW_SHOWMAXIMIZED = 3;
[DllImport("user32", SetLastError = true)]
public static extern int GetWindowText(
IntPtr hWnd,//窗口句柄
StringBuilder lpString,//标题
int nMaxCount //最大值
);
[DllImport("user32.dll", EntryPoint = "ShowWindow", CharSet = CharSet.Auto)]
public static extern int ShowWindow(IntPtr hwnd, int nCmdShow);
/// <summary>
/// 枚举窗体的回调函数
/// </summary>
/// <param name="hWnd"></param>
/// <param name="lParam"></param>
/// <returns></returns>
public delegate bool EnumWindowsProc(IntPtr hWnd, IntPtr lParam);
[DllImport("user32")]
public static extern int EnumWindows(EnumWindowsProc hWnd, IntPtr lParam);
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
EnumWindowsProc callBack = new EnumWindowsProc(OpenOldWindow);
int i = EnumWindows(callBack, IntPtr.Zero);
}
/// <summary>
/// 枚举窗体的回调函数,还原显示已打开的帮助文档
/// </summary>
/// <param name="hWnd"></param>
/// <param name="lParam"></param>
/// <returns></returns>
public bool OpenOldWindow(IntPtr hWnd, IntPtr lParam)
{
StringBuilder sb = new StringBuilder(255);
GetWindowText(hWnd, sb, sb.Capacity);
if (sb.Length > 0)
{
//匹配窗体的标题成功,表示帮助文档已经打开,还原窗体
if (sb.ToString().IndexOf(@txtCaption.Text) >= 0)
{
ShowWindow(hWnd, SW_RESTORE);
ShowWindow(hWnd, SW_SHOWMAXIMIZED);
return false;
}
}
return true;
}
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
参考文档:
WebApi NETCore框架 | APIProviderFactory 调用WebApi接口|C/S开发框架
Demo调用WebApi接口 | CSFramework.WebApi后端开发框架|C/S开发框架
CSFramework.WebApi后端框架提供两种接口调用方式|C/S开发框架
WebApiTools.cs | WebApi客户端调用Web Api接口工具类|C#源码
百度地图API调用实例之地址标注与位置显示-C/S开发框架
Web端使用VUE调用WebApi接口实现用户登录及采用Token方式数据交互
WebApi开发框架:使用HttpGet方式调用WebAPI接口
调用WebApi接口POST操作失败Unable to connect to the remote server
CSFramework.WebApi开发框架模拟Web用户端登录、调用WebApi接口增删改查数据
基于Web前端用户调用CSFramework.WebApi服务端登录登出接口实现
CSFramework.WebApi后端服务器框架:客户端调用WebApi接口方式(签名+Token令牌)
Winform调用WebApi接口实现增删改查CRUD实例源码
客户端使用HTTPGET请求调用WebApi指定FromUri参数对象模型的接口
C/S客户端Winform窗体调用WebApi接口(C# 实例)
C#.NET短信通用接口设计-调用短信API案例|C/S框架网
解决方案:启动WebApiServer失败,调用的目标发生了异常
WebApi NETCore框架 | APIProviderFactory 调用WebApi接口|C/S开发框架
Demo调用WebApi接口 | CSFramework.WebApi后端开发框架|C/S开发框架
CSFramework.WebApi后端框架提供两种接口调用方式|C/S开发框架
WebApiTools.cs | WebApi客户端调用Web Api接口工具类|C#源码
百度地图API调用实例之地址标注与位置显示-C/S开发框架
Web端使用VUE调用WebApi接口实现用户登录及采用Token方式数据交互
WebApi开发框架:使用HttpGet方式调用WebAPI接口
调用WebApi接口POST操作失败Unable to connect to the remote server
CSFramework.WebApi开发框架模拟Web用户端登录、调用WebApi接口增删改查数据
基于Web前端用户调用CSFramework.WebApi服务端登录登出接口实现
CSFramework.WebApi后端服务器框架:客户端调用WebApi接口方式(签名+Token令牌)
Winform调用WebApi接口实现增删改查CRUD实例源码
客户端使用HTTPGET请求调用WebApi指定FromUri参数对象模型的接口
C/S客户端Winform窗体调用WebApi接口(C# 实例)
C#.NET短信通用接口设计-调用短信API案例|C/S框架网
解决方案:启动WebApiServer失败,调用的目标发生了异常
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
