Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Акцесс и экранная клавиатура / 16 сообщений из 16, страница 1 из 1
28.11.2017, 21:49
    #39560885
малыш 456789
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Акцесс и экранная клавиатура
Добрый день.
Планшетник с Виндой. На нем база Акцесс. При открытии базы на весь экран раскрывается форма в режиме PopUp = true. Виндузовых панелей не видно.
Вопрос. Как средствами Акцесс открыть экранную клавиатуру?
Спасибо.
...
Рейтинг: 0 / 0
28.11.2017, 23:57
    #39560941
Tarasios
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Акцесс и экранная клавиатура
малыш 456789,
обычно клава сама выплывает при тыкании в тот или другой элемент формы. Возможно - в зависимости от настроек, для вызова клавы надо тыкнуть два-три раза
...
Рейтинг: 0 / 0
29.11.2017, 01:24
    #39560964
малыш 456789,
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Акцесс и экранная клавиатура
Tarasios,
Спасибо. Через Shell справился
...
Рейтинг: 0 / 0
01.12.2017, 20:50
    #39562846
Настаев
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Акцесс и экранная клавиатура
малыш 456789,покажи как. Мне тоже надо пожалуйста
...
Рейтинг: 0 / 0
02.12.2017, 08:36
    #39562942
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Акцесс и экранная клавиатура
Настаевмалыш 456789,покажи как. Мне тоже надо пожалуйста Я не малыш 456789, но всё же
Код: vbnet
1.
Call VBA.Shell(Environ("windir") & "\system32\osk.exe")
...
Рейтинг: 0 / 0
02.12.2017, 11:20
    #39562953
guest_rusimport
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Акцесс и экранная клавиатура
ПанургНастаевмалыш 456789,покажи как. Мне тоже надо пожалуйста Я не малыш 456789, но всё же
Код: vbnet
1.
Call VBA.Shell(Environ("windir") & "\system32\osk.exe")


такая вот байда (вообще, пробовал многое, но результат один), Win7 64, Акс 2003 32
...
Рейтинг: 0 / 0
02.12.2017, 12:03
    #39562960
Tarasios
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Акцесс и экранная клавиатура
guest_rusimport,
это больше похоже на то, что "поломатый" какой нить драйвер клавиатуры, или именно ваш планшетник требует "фирменной" программы для клавиатуры.
...
Рейтинг: 0 / 0
02.12.2017, 12:26
    #39562964
guest_rusimport
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Акцесс и экранная клавиатура
Tarasiosguest_rusimport,
это больше похоже на то, что "поломатый" какой нить драйвер клавиатуры, или именно ваш планшетник требует "фирменной" программы для клавиатуры.
у меня не планшетник, обычный ноут, стандартным способом из меню винды (или через "Выполнить" - osk.exe) экранная клавиатура запускается, а вот программным не желает никак
...
Рейтинг: 0 / 0
02.12.2017, 14:15
    #39562992
Tarasios
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Акцесс и экранная клавиатура
guest_rusimport,
у мну Win7/64. В Ассессе 2003 сделал форму с кнопочкой, повесил на неё ваш код
Call VBA.Shell(Environ("windir") & "\system32\osk.exe")
Запущаю. На панели задач высвечивается "Экранная клавиатура". И что интересно: ежели я просто кликом мышки пытаюсь развернуть клавиатуру из трея - пишет ошибку "Не удалось запустить экранную клавиатуру", и всё, после "ок" всё схлопывается.
А вот если на этом трее тыкаю правой кнопкой мышки - разворачивается менюшка
- Специальная экранная клавиатура
- Закрепить программу в панели задач
- Закрыть окно.
И ежели тыкнуть левой кнопкой мышки на "Специальная экранная клавиатура" - открывается нормально работающая экранная клава.
...
Рейтинг: 0 / 0
02.12.2017, 15:22
    #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
02.12.2017, 15:38
    #39563012
guest_rusimport
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Акцесс и экранная клавиатура
Tarasios,
Да, всё так, как вы описываете.

ShellExecuteEx,
Код работает нормально! Спасибо!
...
Рейтинг: 0 / 0
02.12.2017, 17:04
    #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
02.12.2017, 17:08
    #39563042
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Акцесс и экранная клавиатура
добавьте ещё vbNormalFocus
Код: vbnet
1.
?VBA.Shell(Environ("windir") & "\system32\osk.exe",vbNormalFocus )
...
Рейтинг: 0 / 0
02.12.2017, 20:45
    #39563092
Настаев
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Акцесс и экранная клавиатура
guest_rusimport, у меня та же шняга.

А вообще, я думаю, что не стоит прогибаться под планшет, так как это устройство само по себе не удобное. На нём только в игры играть или фильмы смотреть. В топку эту экранную клавиатуру, тем более, что у неё нет режима "только цифры"
...
Рейтинг: 0 / 0
03.12.2017, 01:02
    #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
03.12.2017, 01:15
    #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
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Акцесс и экранная клавиатура / 16 сообщений из 16, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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