关于C# 窗体自动隐藏和加载的问题
作者:网络转载 发布时间:[ 2015/5/28 11:28:58 ] 推荐标签:C#
近在写一个小项目,开发一个小程序配合其他软件使用,其中一款软件在使用工作时需要截图生成报告,此时不能有其他应用程式界面在显示器桌面显示,故需要自动隐藏和加载窗体,通过阅读Windows API实现了这一功能与大伙分享交流一下:原本C#自带Hide()和Show()方法;但是在项目开发时将窗体定义为静态类型;故无法通过this关键字来调用其对应的隐藏和显示窗体方法。这里通过Windows API提供的函数来实现,首先要获取当前运行窗体的句柄,方法如下:
定义一个全局变量
IntPtr Handle;
[DllImport("user32.dll", EntryPoint = "FindWindow")]
private extern static IntPtr FindWindow(string lpClassName, string lpWindowName);
Handle = FindWindow(null,"窗体名称");//lpWindowName为窗体名称
接下来定义常量
Private Const int SW_HIDE = 0//隐藏
Private Const int SW_RESTORE = 9//显示
导入Win32引用
[DllImport("user32.dll")]
private static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);
[DllImport("user32.dll")]
public static extern int ShowWindow( int hwnd, int nCmdShow);
通过全局变量Handle调用方法即可实现功能
ShowWindowAsync(Handle,SW_HIDE);//实现自动隐藏
ShowWindow(Handle,SW_RESTORE);//自动弹出窗体
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11