模拟键盘操作Windows应用程序

这是针对Windows系统录音软件的小程序

目的是把声音文件的频率转换的低一些

尝试过用WINDOWS API来做这个事,结果失败了

最后还是用程序操作EXE文件完成工作的

 

代码


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics;
using System.Threading;

namespace ShengYin2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
folderBrowserDialog1.ShowNewFolderButton = false;
}

private void button1_Click(object sender, EventArgs e)
{
DialogResult dr = folderBrowserDialog1.ShowDialog();
if (dr == DialogResult.OK)
{
label1.Text = "路径:" + folderBrowserDialog1.SelectedPath;
}
}

private void button2_Click(object sender, EventArgs e)
{
Process myProc = new Process();
myProc.StartInfo.FileName = @"C:\wINDOWS\system32\sndrec32.exe";
myProc.StartInfo.UseShellExecute = false;
myProc.StartInfo.RedirectStandardInput = true;
myProc.Start();
DirectoryInfo di = new DirectoryInfo(folderBrowserDialog1.SelectedPath);
FileInfo[] fis = di.GetFiles();
foreach (var a in fis)
{
if (a.Extension.Contains("wav"))
{
Thread.Sleep(600);
SendKeys.SendWait("%f");
Thread.Sleep(600);
SendKeys.SendWait("o");
Thread.Sleep(600);
SendKeys.SendWait(a.FullName);
Thread.Sleep(600);
SendKeys.SendWait("{Enter}");
Thread.Sleep(600);
SendKeys.SendWait("%f");
Thread.Sleep(600);
SendKeys.SendWait("a");
Thread.Sleep(600);
SendKeys.SendWait("%c");
Thread.Sleep(600);
SendKeys.SendWait("{Down}");
Thread.Sleep(600);
SendKeys.SendWait("{Down}");
Thread.Sleep(600);
SendKeys.SendWait("{Enter}");
Thread.Sleep(600);
SendKeys.SendWait("{Enter}");
Thread.Sleep(600);
SendKeys.SendWait("{Enter}");
}
}
myProc.Close();
MessageBox.Show("转换完成");
}
}
}

 

时间: 2024-09-15 17:04:07

模拟键盘操作Windows应用程序的相关文章

用应用程序模拟键盘和鼠标按键

本文配套源码 在Windows大行其道的今天,windows界面程序受到广大用户的欢迎.对这些程序的操作不外乎两种,键盘输入控制和鼠标输入控制.有时,对于繁杂的,或重复性的输入操作,我们能否通过编制程序来代替手工输入,而用程序来模拟键盘及鼠标的输入呢?答案是肯定的.这里主要是通过两个Windows API函数来实现的.下面以VC++为例来介绍一下如何实现这两个功能. 模拟键盘我们用Keybd_event这个api函数,模拟鼠标按键用mouse_event函数.在VC里调用api函数是 既简单又方

VC用键盘操作静态链接打开应用程序中的URLs

这几年我一直在公司的商业程序中使用你的 CStaticLink 类,在 1998 年 MSJ 三月刊里,你示范了如何给超链接添加手型光标,但现在我想以另一种方式使用这个类.在微软的 IE 浏览器中,可以用Tab键遍历Web页面中的任何超链接,然后按回车键以单击该链接.我能否让 CStaticLink 做同样的事情?我是不是有点得寸进尺? 如果你要我借给你一千美元,那才是得寸进尺呢--但用键盘操作 CStaticLink 则是合理要求.我可以想象得到,对于一个习惯用键盘的人来说尤其如此.我讨厌伸手

windows窗体程序内怎么仿写一个操作环境,可以执行图标程序?

问题描述 windows窗体程序内怎么仿写一个操作环境,可以执行图标程序? windows窗体程序内怎么仿写一个操作环境,可以执行图标程序?图标程序只能在我的程序内执行,并且隐藏文件名? 解决方案 用listview来组织你的程序,用shellexecute或者shell语句执行你的程序.

SendInput模拟键盘输入的问题 <转>

最近接触到这个函数,因此了解了一下,总结一下列在这. 我了解它的出发点是如何通过它向活动窗口输入字符,这是很多程序都有的功能(我猜Visual Assist X就用了这个功能). 根据MSDN,此函数模拟按键操作,将一些消息插入键盘或鼠标的输入流中,Windows对它进行处理,生成相应的WM_KEYDOWN或WM_KEYUP事件,这些事件与普通键盘输入一起进入应用程序的消息循环,它们不仅可以转换为WM_CHAR消息,还可以转换为其它(诸如加速键)等消息. 使用它来发送字符消息,并没有看起来那么简

C语言嵌入式系统编程修炼之键盘操作

处理功能键功能键的问题在于,用户界面并非固定的,用户功能键的选择将使屏幕画面处于不同的显示状态下.例如,主画面如图1: 图1 主画面 当用户在设置XX上按下Enter键之后,画面就切换到了设置XX的界面,如图2: 图2 切换到设置XX画面 程序如何判断用户处于哪一画面,并在该画面的程序状态下调用对应的功能键处理函数,而且保证良好的结构,是一个值得思考的问题. 让我们来看看WIN32编程中用到的"窗口"概念,当消息(message)被发送给不同窗口的时候,该窗口的消息处理函数(是一个ca

Delphi编程模拟鼠标操作

本实例介绍如何在自己的程序里面模拟鼠标的常用操作. 首先启动一个新的项目,在空白的窗体上添加4个TButton组件.添加组件后的窗体如图1所示. 图1 添加组件后的窗体 这4个按钮分别用于模仿鼠标的4个动作--移动鼠标到指定位置.左键单击.左键双击和右键单击. 下面以鼠标左键单击为例来说明如何模拟鼠标操作: procedure TForm1.btnLClickClick(Sender: TObject);begin SetCursorPos(10,10); mouse_event(MOUSEEV

如何处理Windows Forms程序中未处理的异常

如果Windows Forms程序中有未被捕获的异常,会导致程序崩溃并且给用户造成不良的印象.例如下面的程序,模拟了一个未捕获的异常: 按钮事件为: private void button1_Click(object sender, EventArgs e) { throw new Exception(); } 点击Exception 按钮,会弹出如下默认窗口 Windows Forms提供了两个事件来处理未捕获的异常发生时的情况,分别是 Application.ThreadException和

我想用C#做一个WINDOWS窗体程序自动填写一个网站的密码和用户名并登陆进网站!

问题描述 我想做一个WINDOWS窗体程序自动填写一个网站网站密码和用户名并登陆进网站?就是用WINDOWS程序操控网页上面的文本框和按钮!请要用到些什么技术?有没有一些实例,请大侠们介绍介绍? 解决方案 解决方案二:user32.dll里面有函数可以获取窗体.找到浏览器之后再操作吧.解决方案三:使用HttpWebRequestHttpWebResponse类或者WebClient需要借助HttpLook等工具解决方案四:建议你使用Watir,网页测试用的,可以控制网页中的一切解决方案五:或者w

键盘操作优势 IE7快捷键集锦_应用技巧

应该说,GUI(图形化用户接口)的优势是怎么强调也不过份的,它也是让PC真正走出仅供计算机专业人士使用的窘境而步入普通百姓家的关键,直观的鼠标操作将一切都变得那么简单.不过,GUI也带来了另一种趋势,那便是忽视键盘的使用,把键盘当成纯粹的文字输入工具,殊不知在GUI接口的系统如Windows Vista中,恰当在使用键盘可以让您的操作更简单,效率更高. 快捷键便是键盘操作优势的一个重要方面.在Windows Vista中,有许许多多的预定义的快捷键,恰当地使用它们,可以有效地避免鼠标操作中必须将