C#控制其它程序

[DllImport("user32.dll", EntryPoint = "FindWindow", SetLastError = true)]
        private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

[DllImport("user32.dll", EntryPoint = "FindWindowEx", SetLastError = true)]
        private static extern IntPtr FindWindowEx(IntPtr hwndParent, uint hwndChildAfter, string lpszClass, string lpszWindow);

[DllImport("user32.dll", EntryPoint = "SendMessage", SetLastError = true, CharSet = CharSet.Auto)]
        private static extern int SendMessage(IntPtr hwnd, uint wMsg, int wParam, int lParam);

[DllImport("user32.dll", EntryPoint = "SetForegroundWindow", SetLastError = true)]
        private static extern void SetForegroundWindow(IntPtr hwnd);

private void button1_Click(object sender, EventArgs e)
        {
            var hwndPhoto = FindWindow(null, "XMind"); //查找拍照程序的句柄【任务管理器中的应用程序名称】

if (hwndPhoto != IntPtr.Zero)
            {
                SetForegroundWindow(hwndPhoto);    //将UcDemo程序设为当前活动窗口  
                SendKeys.Send("^o");
                Clipboard.SetDataObject(@"D:\思维导图\文档\基础数据改造.xmind");
                System.Threading.Thread.Sleep(200);   //暂停500毫秒  
                SendKeys.Send("^v");
                System.Threading.Thread.Sleep(200);   //暂停500毫秒
                SendKeys.Send("~");
                System.Threading.Thread.Sleep(500);   //暂停500毫秒
                SendKeys.Send("^p");
                System.Threading.Thread.Sleep(200);   //暂停500毫秒
                SendKeys.Send("~");
            }
            else
            {
                MessageBox.Show("没有启动 XMind");
            }
        }

时间: 2024-10-29 19:58:35

C#控制其它程序的相关文章

如何控制其他程序窗体上的窗口控件

用我的方法来控制其他程序窗体上的窗口控件,必须先了解什么是回调函数.我的理解是这样的:回调函数写出来不是自己的程序去调用的,反而是让其他的东西去调用,比如windows操作系统,比如其他的程序等等之类的.但是什么时候被调用却不知道了.回调函数一般是按照调用者的要求定义好参数和返回值的类型,你向调用者提供你的回调函数的入口地址,然后调用者有什么事件发生的时候就可以随时按照你提供的地址调用这个函数通知你,并按照预先规定好的形式传递参数.所以很多人打比方,说回调函数还真有点像您随身带的BP机:告诉别人

控制其他程序1(金山词霸2009)

基于个人需要,想控制其他程序,获取其他程序接运行结果. 具体来说,现在我想要在我的程序中控制金山词霸查询一个单词,最后能在我的程序中显示查询的结果. 就像把其他程序作为一个函数来调用,首先想到的是发送消息. 需要做到的有 1. 填入要查询的的单词 2. 单词"查词"按钮 3. 获取查询的结果并显示在程序中 前两步很容易做到,获取相应的控件的句柄,然后发送相应的消息就行了. 具体用到了 /// <summary> /// 获取子窗体 /// </summary>

vb代码之------FindWindow and FindWindowEx控制其他程序

应该有不少童鞋都喜欢用自己的程序来控制其他程序吧,但是又恨自己技术浅,那么今天给大家带来一个简单的vb控制器 在此之前,我想说一下句柄 对于Win32程序员来说,如果不知道句柄,那么也太逊了吧,那句柄是什么呢?百度百科是这样说的 "个句柄是指使用的一个唯一的整数值,即一个4字节(64位程序中为8字节)长的数值,来标识应用程序中的不同对象和同类中的不同的实例" 首先,你可以知道句柄是一个整数,这个不难理解吧,还有是用来标识应用程序的实例,也就是一个整数标识了一个应用程序.在操作系统中,每

cmd(控制命令程序)的用法

1. win+r进入运行程序,cmd进入控制命令界面 dir显示目录下包含的子目录或文件 用法: dir是路径 dir是命令,在命令后空格分开 路径:要显示目录的位置 rd:删除空目录 语法: rd  路径\目录的名称 cd: 切换路径 语法: 1      cd目录x              //切换到当前目录下的"目录x" 2      cd路径\目录x         //切换到指定"目录x" 3      cd..                 //切换

进程控制扩展 程序执行 程序执行 函数

<?php //Resource Limits 名字 默认 可修改范围 更新日志 //memory_limit "128M" PHP_INI_ALL "8M" before PHP 5.2.0, "16M" in PHP 5.2.0 //echo memory_get_peak_usage();//返回分配给 PHP 内存的峰值 //echo "<br>"; //echo memory_get_usage()

WinForm开发控制应用程序自启动功能

本文主要讲述WinForm开发应用程序需要设置自启动功能,这个也是在实际开发中经常涉及到的,非常实用,所讲到的是通过注册表来控制程序是否自行启动,具体功能实现上两张图,更直观. 如下图: 程序设置保持界面实现代码 using Microsoft.Win32; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; us

通过线程控制python程序运行一定时间

<span style="font-family: Arial, Helvetica, sans-serif;">import time</span> class Test(threading.Thread): def __init__(self, para): #初始化参数 threading.Thread.__init__(self) self.para= para def run(self): while(True): doMail(self.para)#

51单片机对无线模块nRF24L01简单的控制收发程序

它的一些物理特性如工作频段.供电电压.数据传输速率就不详细介绍了,直接上代码. 1.首先是发送端: // Define SPI pins #include <reg51.h> #define uchar unsigned char /***************************************************/ #define TX_ADR_WIDTH 5 // 5字节宽度的发送/接收地址 #define TX_PLOAD_WIDTH 4 // 数据通道有效数据宽度

控制某个程序走8字

1.红线部分需注意下. #include<stdio.h> #include <stdlib.h> #include <Windows.h> #include <math.h> #define PI 3.1415926 #define R 200 void main() { int px1 = 400; int px2 = 800; int py = 500;//设定为圆心 //HWND win = FindWindowA("QWidget&quo