winform操作windows系统计算器
winform对系统计算器的调用,启动,最大化最小化显示,在mainwindow设置topmost=true时,正常显示计算器并置顶。
/// <summary>
/// 获取窗体的句柄函数
/// </summary>
/// <param name="lpClassName">窗口类名</param>
/// <param name="lpWindowName">窗口标题名</param>
/// <returns>返回句柄</returns>
[DllImport("user32.dll", EntryPoint = "FindWindow", SetLastError = true)]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName); /// <summary>
/// 窗体的显示控制
/// </summary>
/// <param name="hWnd">句柄</param>
/// <param name="nCmdShow">
/// HIDE = 0
/// NORMAL = 1
/// MAXIMIZE = 3
/// SHOWNOACTIVATE = 4
/// SHOW = 5
/// MINIMIZE = 6
/// RESTORE = 9
/// SHOWDEFAULT = 10</param>
/// <returns></returns>
[DllImport("user32.dll")]
private static extern bool ShowWindowAsync(IntPtr hWnd,int nCmdShow); /// <summary>
/// 更改子窗口,弹出窗口或顶级窗口的大小,位置和Z顺序。这些窗口是根据其在屏幕上的外观排序的。最顶部的窗口获得最高排名,并且是Z顺序中的第一个窗口。
/// </summary>
/// <param name="hWnd">窗口的句柄</param>
/// <param name="hWndlnsertAfter">在Z顺序中位于定位的窗口之前的窗口的句柄 0; 在前面 1; 在后面 -1; 在前面, 位于任何顶部窗口的前面 -2; 在前面, 位于其他顶部窗口的后面</param>
/// <param name="X"></param>
/// <param name="Y"></param>
/// <param name="cx"></param>
/// <param name="cy"></param>
/// <param name="Flags">窗口尺寸和定位的标志</param>
/// <returns></returns>
[DllImport("user32.dll")]
private static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndlnsertAfter, int X, int Y, int cx, int cy, uint Flags); //启动计算器
public void start_Calc()
{
AppLog.Info($"start calc ..."); // 获取查找窗体句柄(通过窗体标题名)
IntPtr calcHandle = FindWindow(null, "计算器");
if (calcHandle == IntPtr.Zero)
{
AppLog.Info($"pre start calc ...");
pcalc = Process.Start("calc.exe");
Thread.Sleep();
calcHandle = FindWindow(null, "计算器");
} //将计算器显示为正常状态
bool resultSetWindowState = ShowWindowAsync(calcHandle, );
AppLog.Info($"set calc window status:{resultSetWindowState}"); //将计算器显示在最上层
bool result = SetWindowPos(calcHandle, new IntPtr(-), , , , , | );
AppLog.Info($"set calc status:{result}");
}
winform操作windows系统计算器的更多相关文章
- C语言操作WINDOWS系统存储区数字证书相关函数详解及实例
C语言操作WINDOWS系统存储区数字证书相关函数详解及实例 以下代码使用C++实现遍历存储区证书及使用UI选择一个证书 --使用CertOpenSystemStore打开证书存储区. --在循环中 ...
- [经验分享]C# 操作Windows系统计划任务
背景:我做了一个事情是要自己提前创建好很多要定时执行的任务,在我不在的时候自动执行这些程序,以保证我的工作能无人值守,那么我就需要建立系统计划任务来帮我完成这件事情,当然用脑子想想如何实现,很简单,每 ...
- python通过操作windows系统注册表方式修改环境变量
#coding=utf8 import os import sys from subprocess import check_call if sys.hexversion > 0x0300000 ...
- sqlserver如何读写操作windows系统的文件
DECLARE @object int DECLARE @hr int DECLARE @src varchar(255), @desc varchar ...
- windows系统快捷操作の高级篇
上次介绍了windows系统上几个比较好用的软件和系统快捷键,虽然有些很方便,但是毕竟还是太少了,而且无法自定义专属于自己的快捷键.所以我写了这么一篇教程,主要介绍两个神器:windows平台上的au ...
- windows系统快捷操作の进阶篇
上次介绍了windows系统上一些自带的常用快捷键,有些确实很方便,也满足了我们的一部分需求.但是我们追求效率的步伐怎会止步于此?这一次我将会进一步介绍windows上提升效率的方法. 一:运行 打开 ...
- windows系统快捷操作の基础篇
从网上汇总了一些windows系统上常用的快捷键,结合自己的使用经验,将平时使用电脑时最常用的快捷键记录在此.注意这里罗列的是平时最常用到的,其他的一般来说不怎么用到的并不在此列,如果想要完整列表,请 ...
- windows系统操作类和演示程序(关机,关闭显示器,打开屏幕保护程序,打开光驱等)
/// <summary> /// 系统控制类,关机,关闭显示器,打开屏幕保存程序等 /// </summary> public class SystemPowerContro ...
- [Perl]Windows 系统 Unicode 文件名操作(新建、重命名、枚举、复制)全攻略
[Perl] Windows 系统 Unicode 文件名操作(新建.重命名.枚举.复制)全攻略 环境 XP/WIN7 Perl v5.16 编辑整理:PerlMonk.523066680 常见的那些 ...
随机推荐
- 001.Oracle数据库 , 查询日期在两者之间
/*Oracle数据库查询日期在两者之间*/ SELECT OCCUR_DATE FROM LM_FAULT WHERE ( ( OCCUR_DATE >= to_date( '2017-05- ...
- 02.Delphi通过接口实现多重继承
uSayHello类如下: unit uSayHello; interface type // 接口 IGreetable = interface ['{D91DDE09-0FC4-4FE9-AE0D ...
- 0106 springMVC REST风格
markdown 印象笔记语法练习带快捷键的 加粗 快捷键 cmd+b 斜体 cmd+i 分割线 cmd+u 编号列表: cmd+shift+o 无编号列表 cmd+shift+u 待办事项 cmd+ ...
- vSphere vSwitch网络属性配置详解
1.安全 混杂模式:把vSwitch当成是一个hub,同一台交换机上面所有的虚拟机都能接受到二层数据包. MAC地址更改:当vSwitch上面连接的某一个虚拟机MAC地址发生更改时,vSwitch是否 ...
- s5pc100开发板Nand flash移植
相关软件下载地址:http://pan.baidu.com/s/16yo8Y fsc100开发板 交叉编译工具:arm-cortex_a8-linux-gnueabi-gcc 添加针对我们平台 ...
- Go语言 一维数组的使用
程序源码 package main import ( "fmt" // 导入 fmt 包,打印字符串是需要用到 ) func main() { // 声明 main 主函数 var ...
- 三十一、SAP中的循环和判断图标和表格的混用
一.代码如下 二.显示结果如下
- Impala 笔记
简介 Cloudera公司推出,提供对HDFS.Hbase数据的高性能.低延迟的交互式SQL查询功能. 基于Hive使用内存计算,兼顾数据仓库.具有实时.批处理.多并发等优点 是CDH平台首选的PB级 ...
- 知乎live - 三年从前端小工到架构
王利华 刚毕业 在高德 携程 淘宝 0-3年如何发展 1 技能和能力的区别 css js 抽象 切勿好高骛远 要重视基础 2 人和人的差距是什么 注意个人品牌 提高 ...
- 使用jdbc连接oracle
1.创建一个jdbc.properties 文件 driver=oracle.jdbc.driver.OracleDriver url=jdbc:oracle:thin:@127.0.0.1:1521 ...