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(
    "转换完成");
    }
    }
    }
  • 相关阅读:
    Redis开发与运维:SDS
    Redis开发与运维:数据迁移
    我的2019上半年
    C# 并发编程
    经典排序算法 — C# 版(上)
    图解 -- 树的汇总
    图解--队列、并发队列
    栈到CLR
    我们的数组
    算法复杂度
  • 原文地址:https://www.cnblogs.com/liulun/p/1654768.html
Copyright © 2011-2022 走看看