我正在尝试创建一个OSX应用程序,它将是On Screen键盘的副本.是否可以将一些文本插入另一个活动应用程序的光标位置?提前致谢!
我目前正在设计一个图像查看器,允许用户输入电子邮件并以数字方式获取图像。令我困扰的部分是关闭屏幕键盘。我用这段代码来启动windows进程:
string progFiles = @"C:\Program Files\Common Files\Microsoft Shared\ink";
string keyboardPath = Path.Combine(progFiles, "TabTip.exe");
Process keyboardProc = Process.Start(keyboardPath);
Run Code Online (Sandbox Code Playgroud)
之后,我打开 VB 输入框来提示输入电子邮件地址(我使用屏幕键盘,因为应用程序将显示在触摸屏上)。出现此提示后我想自动关闭该进程。
我尝试通过以下方式关闭该进程:
keyboardProc.Kill();
keyboardProc.Dispose();
keyboardProc.Close();
keyboardProc = null;
Run Code Online (Sandbox Code Playgroud)
它们都不起作用,只是抛出异常:
An unhandled exception of type 'System.InvalidOperationException' occurred in System.dll
Additional information: Cannot process request because the process has exited.
Run Code Online (Sandbox Code Playgroud)
我也尝试过通过ID识别进程并以这种方式关闭它,也不起作用。我还查看了: C#/.NET: Closeing another process Outside the main window 但也没有让它工作.. :(
我对 C# 还很陌生,这是我第一次从代码调用 Windows 进程 - 我是否遗漏了什么?
预先非常感谢您!
使用 ShellExecuteEx() 启动 osk.exe 后,我想相对于数据输入字段定位键盘窗口,以便它不会覆盖它们。
在调用 osk 之前如何设置它的窗口位置?
另外,当我完成后,如何让应用程序隐藏 osk?
我们为Touch Devices编写了一个C#/ WPF应用程序,并且已经实现了我们自己的虚拟键盘.自Windows 10周年(或更早)以来,我们在"平板电脑模式"下遇到设备问题.只要输入字段被聚焦,就会打开默认的OSK.
所以问题是:是否可以在我们的应用程序中禁用集成的OSK?如果没有,是否可以通过注册表或设置禁用OSK for JUST OUR APPLICATION?
您可以使用以下 C# 代码打开 Windows 10 屏幕键盘:
System.Diagnostics.Process.Start("osk.exe");
Run Code Online (Sandbox Code Playgroud)
C# 有没有办法在打开时将此键盘停靠在屏幕底部?
我需要创建与屏幕键盘本身上的“停靠”按钮相同的效果。
我想知道OSK.exe进程(屏幕键盘)是否打开.
这是打开OSK的代码:
Process.Start("C:\\Windows\\System32\\osk.exe");
Run Code Online (Sandbox Code Playgroud)
您是否有任何想法如何检查它并阻止启动两次以上这个过程?
我正在使用下面的代码来调用On-Screen Keyboard(OSK)
Process.Start("C:\Windows\System32\OSK.EXE")
Run Code Online (Sandbox Code Playgroud)
但正如你在下面看到的,我收到了一个错误。但如果我手动打开它,它工作正常。
<html>
<head>
<script type = "text/javascript">
var fst_row = ["q","w","e","r","t","y","u","i","o","p"];
var snd_row = ["a","s","d","f","g","h","j","k","l"];
var thd_row = ["z","x","c","v","b","n","m"];
function insert_fst_row(){
document.getElementById("my_key").innerHTML = keyboard(snd_row);
} //inserts first row of letters of the keyboard when user clicks button.
function keyboard(array){
var key = "";
key += "<table>";
for (var row = 1; row = 1; row++){
key += "<tr>";
for (var col = 1; col <= array.length; col++){
key += "<td><input type = 'button' value = 'array[i]'/></td>"; ** //Error here.
}
key …Run Code Online (Sandbox Code Playgroud)