none
Экранная клавиатура от windows в Windows Forms RRS feed

  • Вопрос

  • Вопрос предельно прост, но одновременно с этим я никак не могу найти на него ответ.

    Как можно использовать экранную клавиатуру в от windows в Windows Forms?

    Можно ли ее как-то обернуть в свой контрол?

    Если нет, то хотя бы отобразить из моего приложения.


    • Изменено akavoid 19 марта 2013 г. 7:52
    19 марта 2013 г. 7:52

Ответы

  • Вставить как контрол не получится, придется создавать свой. А вот вызвать ее из приложения предельно просто.

    Инициируйте запуск процесса с адресом - "%windir%\system32\osk.exe".

    На VB это можно сделать так:

      Dim path As String = Environment.GetFolderPath(Environment.SpecialFolder.Windows)
      Process.Start(path & "\system32\osk.exe")
    Если пишите на C#, то перевести в него можно тут.


    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    • Помечено в качестве ответа akavoid 19 марта 2013 г. 9:07
    19 марта 2013 г. 8:49
    Отвечающий

Все ответы

  • Вставить как контрол не получится, придется создавать свой. А вот вызвать ее из приложения предельно просто.

    Инициируйте запуск процесса с адресом - "%windir%\system32\osk.exe".

    На VB это можно сделать так:

      Dim path As String = Environment.GetFolderPath(Environment.SpecialFolder.Windows)
      Process.Start(path & "\system32\osk.exe")
    Если пишите на C#, то перевести в него можно тут.


    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    • Помечено в качестве ответа akavoid 19 марта 2013 г. 9:07
    19 марта 2013 г. 8:49
    Отвечающий
  • Спасибо за ответ.

    А за конвертер отдельное спасибо.

    PS

    Конвертер выдает немного не верный код. По крайней мере для .net 3.5

    Рабочий для .net 3.5 - 

    string path = Environment.GetFolderPath(Environment.SpecialFolder.System);
                Process.Start(path + "\\osk.exe");

    А задавать размеры ей можно?
    • Изменено akavoid 19 марта 2013 г. 9:33
    19 марта 2013 г. 9:07