我花了最近3天试图在网上find一个解决scheme,并由我自己。 发现了很多相关的材料,但是没有什么能适合我的情况 我已经通过下面的代码启动了一个新的进程,它是Windows语音识别应用程序,我想以编程方式调用右键菜单中的一个选项。
我已经testing了Postmessage,Sendmessage和sendClick事件,他们都没有工作。
namespace WindowsFormsApplication1 { public partial class Form1 : Form { [DllImport("User32.dll")] public static extern int SetForegroundWindow(IntPtr point); [DllImport("user32.dll",CharSet = CharSet.Auto)] static extern IntPtr FindWindow(string lpClass,string lpW); [DllImport("user32.dll",CharSet = CharSet.Auto)] static extern IntPtr SendMessage(IntPtr hWnd,uint msg,IntPtr wParam,IntPtr lParam); [return: MarshalAs(UnmanagedType.Bool)] [DllImport("user32.dll",SetLastError = true)] public static extern void PostMessage(IntPtr hWnd,int msg,int wParam,int lParam); public Form1() { //InitializeComponent(); const int WM_COMMAND = 0x0111; Process proc = new Process(); proc.StartInfo.FileName = @"C:ProgramDataMicrosoftwindowsstart MenuProgramsAccessibilitySpeech Recognition.lnk"; proc.Start(); Thread.Sleep(200); IntPtr Window = FindWindow(null,"Speech Recognition"); SetForegroundWindow(Window); SendKeys.SendWait("{Move 200,200}"); } } }
CoreAudio OnVolumeNotification事件订阅会导致explorer.exe中的cpu使用率过高
.net类在Linux上通过SSH远程执行?
如何防止或检测“%APPNAME%停止工作”对话框?
从Win XP以编程方式从C#中注销用户
计算机上的位置坐标显示X = -32000,Y = -32000
Windows RegKey – 默认浏览器应用程序path
将exe指向可执行文件目录之外的dll
.Net使用特殊文件夹符号
如何从另一个应用程序的窗口中的控件读取数据?
如何为Windows编写一个非常简单的本机应用程序(不需要.NET并通过安装过程)
假设你想Open the Speech Dicitonary你可以这样做
运行命令行: SpeechUXWiz.exe VocabularyManager
使用API: 使用C#将新词添加到Windows语音识别中
您将需要使用SAPI自动化API (也称为SpeechLib)来访问ISpLexicon接口。
特别是, ISpLexicon::AddPronunciation会为用户词库添加一个新的单词(及其相关的发音)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。