C#获取窗口,模拟按键操作,实现计算器模拟操作。

首先引用。

using System.Runtime.InteropServices;

使用DllImport引入两个函数:

// Get a handle to an application window.
[DllImport("USER32.DLL", CharSet = CharSet.Unicode)]
public static extern IntPtr FindWindow(string lpClassName,
string lpWindowName); // Activate an application window.
[DllImport("USER32.DLL")]
public static extern bool SetForegroundWindow(IntPtr hWnd);

然后首先使用FindWindow函数获取到需要按键的窗口句柄,以计算器为例。

//FindWindow 参数一是进程名 参数2是 标题名
IntPtr calculatorHandle = FindWindow(null, "计算器");
//判断是否找到
if (calculatorHandle == IntPtr.Zero)
{
MessageBox.Show("没有找到!");
return;
}
// 然后使用SetForegroundWindow函数将这个窗口调到最前。
SetForegroundWindow(calculatorHandle);
//发送按键
SendKeys.SendWait("");
SendKeys.SendWait("*");
SendKeys.SendWait("");
SendKeys.SendWait("=");

最新文章

  1. 《连载 | 物联网框架ServerSuperIO教程》- 11.实现设备(驱动)与设备(驱动)交互和级联控制。注:设备驱动模拟金三与普京的对话
  2. sgu 240 Runaway (spfa)
  3. wpf ListView DataTemplate方式的鼠标悬停和选中更改背景色
  4. 2.头文件<bits/stdc++.h>
  5. Kib Kb KB KIB 区别
  6. java 地址记录
  7. JSP页面之${fn:}内置函数
  8. ftp nfs samba比较
  9. SpringMVC详解(三)------基于注解的入门实例
  10. C++ RCSP智能指针简单实现与应用
  11. SQLite 分离数据库(http://www.w3cschool.cc/sqlite/sqlite-detach-database.html)
  12. SQLServer之创建索引视图
  13. Javascript中页面加载完成后优先执行顺序
  14. 学习之响应式Web设计---一个实例
  15. Docker(1):初体验之应用挂载到容器
  16. leetcode - [7]Binary Tree Preorder Traversal
  17. 《Go语言实战》摘录:6.4 并发 - 锁住共享资源
  18. Tomcat 配置上传文件到项目外的路径
  19. MathType在手,公式不求人!
  20. 跨越适配&性能那道坎,企鹅电竞Android weex优化

热门文章

  1. unexpected nil window in _UIApplicationHandleEventFromQueueEvent...
  2. 学会用Clang来进行内存泄露分析
  3. JavaScript-学习一
  4. 鼠标划过图片title 提示实现
  5. iOS开发——C篇&数组与指针
  6. Redis系列(1)之安装
  7. Solr4.8.0源码分析(16)之SolrCloud索引深入(3)
  8. angular2 学习笔记 ( Form 表单 )
  9. Sequence
  10. 研究了下apache的漏洞CVE-2012-0053