zoukankan      html  css  js  c++  java
  • 模拟键盘操作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(
    "转换完成");
    }
    }
    }
  • 相关阅读:
    eclipse 关闭web项目无用校验
    Java7的那些新特性
    Linux内核源码情景分析-wait()、schedule()
    android canvas 画图笔记
    android启动第一个界面时即闪屏的核心代码(两种方式)
    leetCode(24):Binary Search Tree Iterator
    12:打印 1 到最大的 n 位数
    Android仿QQ ios dialog,仿QQ退出向上菜单
    iOS UI16_数据持久化
    Android自己定义百度地图缩放图标
  • 原文地址:https://www.cnblogs.com/liulun/p/1654768.html
Copyright © 2011-2022 走看看