powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Акцесс и экранная клавиатура
16 сообщений из 16, страница 1 из 1
Акцесс и экранная клавиатура
    #39560885
малыш 456789
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Планшетник с Виндой. На нем база Акцесс. При открытии базы на весь экран раскрывается форма в режиме PopUp = true. Виндузовых панелей не видно.
Вопрос. Как средствами Акцесс открыть экранную клавиатуру?
Спасибо.
...
Рейтинг: 0 / 0
Акцесс и экранная клавиатура
    #39560941
Фотография Tarasios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
малыш 456789,
обычно клава сама выплывает при тыкании в тот или другой элемент формы. Возможно - в зависимости от настроек, для вызова клавы надо тыкнуть два-три раза
...
Рейтинг: 0 / 0
Акцесс и экранная клавиатура
    #39560964
малыш 456789,
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tarasios,
Спасибо. Через Shell справился
...
Рейтинг: 0 / 0
Акцесс и экранная клавиатура
    #39562846
Настаев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
малыш 456789,покажи как. Мне тоже надо пожалуйста
...
Рейтинг: 0 / 0
Акцесс и экранная клавиатура
    #39562942
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Настаевмалыш 456789,покажи как. Мне тоже надо пожалуйста Я не малыш 456789, но всё же
Код: vbnet
1.
Call VBA.Shell(Environ("windir") & "\system32\osk.exe")
...
Рейтинг: 0 / 0
Акцесс и экранная клавиатура
    #39562953
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПанургНастаевмалыш 456789,покажи как. Мне тоже надо пожалуйста Я не малыш 456789, но всё же
Код: vbnet
1.
Call VBA.Shell(Environ("windir") & "\system32\osk.exe")


такая вот байда (вообще, пробовал многое, но результат один), Win7 64, Акс 2003 32
...
Рейтинг: 0 / 0
Акцесс и экранная клавиатура
    #39562960
Фотография Tarasios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_rusimport,
это больше похоже на то, что "поломатый" какой нить драйвер клавиатуры, или именно ваш планшетник требует "фирменной" программы для клавиатуры.
...
Рейтинг: 0 / 0
Акцесс и экранная клавиатура
    #39562964
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tarasiosguest_rusimport,
это больше похоже на то, что "поломатый" какой нить драйвер клавиатуры, или именно ваш планшетник требует "фирменной" программы для клавиатуры.
у меня не планшетник, обычный ноут, стандартным способом из меню винды (или через "Выполнить" - osk.exe) экранная клавиатура запускается, а вот программным не желает никак
...
Рейтинг: 0 / 0
Акцесс и экранная клавиатура
    #39562992
Фотография Tarasios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_rusimport,
у мну Win7/64. В Ассессе 2003 сделал форму с кнопочкой, повесил на неё ваш код
Call VBA.Shell(Environ("windir") & "\system32\osk.exe")
Запущаю. На панели задач высвечивается "Экранная клавиатура". И что интересно: ежели я просто кликом мышки пытаюсь развернуть клавиатуру из трея - пишет ошибку "Не удалось запустить экранную клавиатуру", и всё, после "ок" всё схлопывается.
А вот если на этом трее тыкаю правой кнопкой мышки - разворачивается менюшка
- Специальная экранная клавиатура
- Закрепить программу в панели задач
- Закрыть окно.
И ежели тыкнуть левой кнопкой мышки на "Специальная экранная клавиатура" - открывается нормально работающая экранная клава.
...
Рейтинг: 0 / 0
Акцесс и экранная клавиатура
    #39563010
ShellExecuteEx,
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня, на Вин7 64б, Акс2003, способ отсюда нормально отрабатывает

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
   Public Enum ShellExMask
      SEE_MASK_DEFAULT = &H0
      SEE_MASK_CLASSNAME = &H1
      SEE_MASK_CLASSKEY = &H3
      SEE_MASK_IDLIST = &H4
      SEE_MASK_INVOKEIDLIST = &HC
      SEE_MASK_ICON = &H10
      SEE_MASK_HOTKEY = &H20
      SEE_MASK_NOCLOSEPROCESS = &H40
      SEE_MASK_CONNECTNETDRV = &H80
      SEE_MASK_NOASYNC = &H100
      SEE_MASK_DOENVSUBST = &H200
      SEE_MASK_FLAG_NO_UI = &H400
      SEE_MASK_UNICODE = &H4000
      SEE_MASK_NO_CONSOLE = &H8000
      SEE_MASK_ASYNCOK = &H100000
      SEE_MASK_HMONITOR = &H200000
      SEE_MASK_NOZONECHECKS = &H800000
      SEE_MASK_WAITFORINPUTIDLE = &H2000000
      SEE_MASK_FLAG_LOG_USAGE = &H4000000
      SEE_MASK_FLAG_HINST_IS_SITE = &H8000000
   End Enum
   
   Type SHELLEXECUTEINFO
      cbSize As Long
      fMask As Long
      hwnd As Long
      lpVerb As String
      lpFile As String
      lpParameters As String
      lpDirectory As String
      nShow As Long
      hInstApp As Long
      lpIDList As Long
      lpClass As String
      hkeyClass As Long
      dwHotKey As Long
      hIcon As Long
      hProcess As Long
   End Type
   
   Public Declare Function ShellExecuteEx Lib "shell32.dll" _
   (lpExecInfo As SHELLEXECUTEINFO) As Long

Public Function KeyboardOpen()
  Dim shInfo As SHELLEXECUTEINFO

   With shInfo
      .cbSize = Len(shInfo)
      .lpFile = "C:\Windows\Sysnative\cmd.exe" 'best to use Known folders here
      .lpParameters = "/c start osk.exe"
      .lpDirectory = "C:\windows\system32" 'best to use Known folders here
      .lpVerb = "open"
      '.fMask = ShellExMask.SEE_MASK_INVOKEIDLIST 'or ShellExMask.SEE_MASK_NO_CONSOLE 'tried using masks, but they either had no effect or crashed Access
      .nShow = 0
   End With
   Call ShellExecuteEx(shInfo)
End Function
...
Рейтинг: 0 / 0
Акцесс и экранная клавиатура
    #39563012
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tarasios,
Да, всё так, как вы описываете.

ShellExecuteEx,
Код работает нормально! Спасибо!
...
Рейтинг: 0 / 0
Акцесс и экранная клавиатура
    #39563041
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_rusimportПанургпропущено...
Я не малыш 456789, но всё же
Код: vbnet
1.
Call VBA.Shell(Environ("windir") & "\system32\osk.exe")


такая вот байда (вообще, пробовал многое, но результат один), Win7 64, Акс 2003 32Статистику не веду (т.к. без надобности), но у меня на машине (Win7 64, Access 2010 32) завелось сразу, в смысле, я это и написал на ней.
...
Рейтинг: 0 / 0
Акцесс и экранная клавиатура
    #39563042
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
добавьте ещё vbNormalFocus
Код: vbnet
1.
?VBA.Shell(Environ("windir") & "\system32\osk.exe",vbNormalFocus )
...
Рейтинг: 0 / 0
Акцесс и экранная клавиатура
    #39563092
Настаев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimport, у меня та же шняга.

А вообще, я думаю, что не стоит прогибаться под планшет, так как это устройство само по себе не удобное. На нём только в игры играть или фильмы смотреть. В топку эту экранную клавиатуру, тем более, что у неё нет режима "только цифры"
...
Рейтинг: 0 / 0
Акцесс и экранная клавиатура
    #39563186
ShellExecuteEx,
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панургguest_rusimportпропущено...

такая вот байда (вообще, пробовал многое, но результат один), Win7 64, Акс 2003 32Статистику не веду (т.к. без надобности), но у меня на машине (Win7 64, Access 2010 32) завелось сразу, в смысле, я это и написал на ней.хм, забавно
А на "десятке" действительно работает :)

У меня на машине установлены и Акс2003 и Акс2010
Пробовал код с Shell в Акс2003 - всё ровно так как описали guest_rusimport и Tarasios
(и vbNormalFocus никак ситуацию не меняет)

А на Акс2010, с Shell - отработало без ошибок
...
Рейтинг: 0 / 0
Акцесс и экранная клавиатура
    #39563187
малыш456789
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Public Declare Function ShellExecute _
                Lib "shell32.dll" _
                Alias "ShellExecuteA" _
                (ByVal hWnd As Long, _
                ByVal lpOperation As String, _
                ByVal lpFile As String, _
                ByVal lpParameters As String, _
                ByVal lpDirectory As String, _
                ByVal nShowCmd As Long) As Long
Public Const SW_SHOWMAXIMIZED = 3
Public Const SW_SHOWDEFAULT = 10
Public Const SW_SHOWNOACTIVATE = 4
Public Const SW_SHOWNORMAL = 1

Public Function StartOfFile(strNameFile As String) 'любой файл открыть в родном приложении
Dim intResult As Integer
    intResult = ShellExecute(Application.hWndAccessApp, "open", strNameFile, 0, 0, SW_SHOWNORMAL)
    If intResult = 31 Then
        MsgBox "Незарегестрированный тип файла"
    End If
End Function


Вызывается так:
Код: vbnet
1.
StartOfFile("C:\WINDOWS\system32\osk.exe") 'вызов экранной клавы


Проверено ВинХП, 8, 8,1 Офис2003

А по поводу планшета, иногда он незаменим. Допустим сканер штрих кода к нему прицепить
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Акцесс и экранная клавиатура
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]