前提・実現したいこと
フォームに作成したボタンを押して、ソフトキーボード(osk.exe)を表示したいです。
VisualStudio2019 C#のWindowsFormアプリを作成しています。
発生している問題・エラーメッセージ
System.ComponentModel.Win32Exception: '指定されたファイルが見つかりません。'
該当のソースコード
c#
1private void button1_Click(object sender, EventArgs e) 2{ 3//process1.Start(); 4 if (!Environment.Is64BitProcess) 5 System.Diagnostics.Process.Start("C:\Windows\sysnative\osk.exe"); 6 else 7 System.Diagnostics.Process.Start("C:\Windows\system32\osk.exe"); 8}
試したこと
・ツールボックスのコンポーネントにある process をダブルクリックしてprosess1を作成。
●プロパティのその他>StartInfo>FileName からC:\Windows\System32 にあるosk.exeが表示されず選択できない。
・プロパティのその他>StartInfo>FileNameに手でC:\Windows\System32\osk.exe を入力。
・ボタンクリックからprocess1.start();を実行。
●System.ComponentModel.Win32Exception: '指定されたファイルが見つかりません。'
https://teratail.com/questions/58735
を参考に、ボタンから上記の該当のソースコードを実行。
●System.ComponentModel.Win32Exception: '指定されたパスが見つかりません。'
c#
1private void button1_Click(object sender, EventArgs e) 2{ 3 const string oskPath = "C:\Windows\sysnative\osk.exe"; 4 process1.StartInfo.FileName = oskPath; 5 process1.Start(); 6}
●System.ComponentModel.Win32Exception: '指定されたパスが見つかりません。'
c#
1private void button1_Click(object sender, EventArgs e) 2{ 3 string oskPath = System.IO.Path.Combine(Environment.SystemDirectory, "osk.exe"); 4 process1.StartInfo.FileName = oskPath; 5 process1.Start(); 6}
●System.ComponentModel.Win32Exception: '指定されたパスが見つかりません。'
1,2,3ともにosk.exeをnotepad.exeに変更すると実行される。
補足情報(FW/ツールのバージョンなど)
Windows10 64bit
VisualStudio2019
4,5を追加しましたが、32ビットのチェックが付いていると、同様のエラーになってしまいます。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/03 08:42
2020/03/03 09:21 編集
2020/03/03 09:37
2020/03/03 10:41
2020/03/03 15:13
2020/03/03 20:43
2020/03/04 00:19
2020/03/04 13:33