我目前正在设计一个图像查看器,它允许用户输入她的电子邮件并以数字方式获取图像。困扰我的部分是关闭屏幕键盘。我使用这段代码来启动windows进程:
string progFiles = @"C:\Program Files\Common Files\Microsoft Shared\ink";
string keyboardPath = Path.Combine(progFiles, "TabTip.exe");
Process keyboardProc = Process.Start(keyboardPath);
之后,我打开一个 VB InputBox 以提示输入电子邮件地址(为此我使用屏幕键盘,因为应用程序将显示在触摸屏上)。在此提示之后,我想自动关闭该过程。
我尝试使用以下方法关闭该过程:
keyboardProc.Kill();
keyboardProc.Dispose();
keyboardProc.Close();
keyboardProc = null;
它们都不起作用,只是抛出异常:
An unhandled exception of type 'System.InvalidOperationException' occurred in System.dll
Additional information: Cannot process request because the process has exited.
我还尝试通过 ID 识别进程并以这种方式关闭它,也没有工作。我还看了看: C#/.NET: Closing another process outside the main window but didn't get it working either.. :(
我对 C# 很陌生,这是我第一次从代码中调用 Windows 进程——我错过了什么吗?
非常感谢您!