我花了最近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接口。