Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Shell + SendKeys  [new]
Г_ость
Guest
Пишу код:

Private Sub Command4_Click()
Me.Photo.Action = acOLECopy
Shell "C:\WINDOWS\system32\mspaint.exe", vbNormalFocus
SendKeys "{^V}", True
SendKeys "{F10}", True
SendKeys "F", True
SendKeys "A", True
SendKeys "e:\_work\photo\" + CStr(Me.TabNumber), True
SendKeys "{Enter}"
End Sub

Только вот paint не успевает открываться и отрабатывается все дальше, а как заставить access ждать выполнения shell?
31 янв 05, 15:54    [1287808]     Ответить | Цитировать Сообщить модератору
 Re: Shell + SendKeys  [new]
Shuhard
Member

Откуда:
Сообщений: 4998
Shell "C:\WINDOWS\system32\mspaint.exe  e:\_work\photo\test.jpg", vbNormalFocus
31 янв 05, 16:00    [1287832]     Ответить | Цитировать Сообщить модератору
 Re: Shell + SendKeys  [new]
Г_ость
Guest
Shuhard
Shell "C:\WINDOWS\system32\mspaint.exe  e:\_work\photo\test.jpg", vbNormalFocus


Наверное непонятно вопрос задал
shell - запускает программу, но access не ждет выполнения и все sendkeys отрабатываются в окне access, а не paint
А то что ты написал - так это просто открытие файла
31 янв 05, 16:10    [1287871]     Ответить | Цитировать Сообщить модератору
 Re: Shell + SendKeys  [new]
paparome
Member

Откуда: Москва
Сообщений: 4312
А у SendKeys ваще нет гарантии, что он правильно сработает, потому это "костыль"!!!

И не факт, что Акс сможет клафиши другой проге натолкать - вот
31 янв 05, 17:55    [1288440]     Ответить | Цитировать Сообщить модератору
 Re: Shell + SendKeys  [new]
AlexJuice
Member

Откуда: Не от мира сего
Сообщений: 1413
Блин, опять же в хелпе все написано!

Help
AppActivate changes the focus to the ... application
31 янв 05, 18:12    [1288528]     Ответить | Цитировать Сообщить модератору
 Re: Shell + SendKeys  [new]
AndrewNico
Member

Откуда: Санкт-Петербург
Сообщений: 213
Теоретически, наверное можно. Вот такой код у меня работает:

Public Function test()
    Dim ReturnValue, I
    ReturnValue = Shell("g:\WINDOWS\system32\mspaint.exe", 1)
    
    On Error GoTo Err_NotStarted
    
    AppActivate ReturnValue
    
    On Error GoTo 0
    
    DoEvents
    
    SendKeys "{F10}", True
    SendKeys "{DOWN}", True
    SendKeys "{DOWN}", True
    SendKeys "{ENTER}", True
    SendKeys "d:\bug.jpg", True
    SendKeys "{ENTER}", True
    
    Exit Function
Err_NotStarted:
    If Err.Number = 5 Then
        Debug.Print Err.Number
        DoEvents
        Resume
    End If
End Function

Но! Граблей слишком много:

1. CTRL и ALT почему-то не передаются.
2. Передаются нажатия на клавиши, т.е. при запуске приложения должен быть установлен английский. Иначе строка "d:" (при установленном руском) передается как "вЖ".

Так что лучше придумать что-то другое. :((
31 янв 05, 18:26    [1288572]     Ответить | Цитировать Сообщить модератору
 Re: Shell + SendKeys  [new]
Rafa
Member

Откуда: http://access.boom.ru/
Сообщений: 404
http://access.boom.ru/Library/Algoritms/CreateBackUpCopy.htm

про ожидание шелла можешь здесь выцарапать, по моему все понятно ;)

а про СендКей ну его, мучался я с ним все равно это грабли........... толку нет...
интересно есть ли какой нить заменитель на АПИ ??? чего то так вот не вспомню сразу ...
1 фев 05, 00:22    [1289017]     Ответить | Цитировать Сообщить модератору
 Re: Shell + SendKeys  [new]
paparome
Member

Откуда: Москва
Сообщений: 4312
Rafa
http://access.boom.ru/Library/Algoritms/CreateBackUpCopy.htm

про ожидание шелла можешь здесь выцарапать, по моему все понятно ;)

а про СендКей ну его, мучался я с ним все равно это грабли........... толку нет...
интересно есть ли какой нить заменитель на АПИ ??? чего то так вот не вспомню сразу ...

hWnd вам Shell вернул
А заменитель однозначно SEND_MESSAGE (или как он там )
1 фев 05, 09:23    [1289297]     Ответить | Цитировать Сообщить модератору
 Re: Shell + SendKeys  [new]
Г_
Guest
>>hWnd вам Shell вернул
А заменитель однозначно SEND_MESSAGE (или как он там )

А можно узнать где почитать про hWnd и SEND_MESSAGE с API не работал :(
1 фев 05, 09:59    [1289398]     Ответить | Цитировать Сообщить модератору
 Re: Shell + SendKeys  [new]
Г_ость
Guest
AlexJuice
Блин, опять же в хелпе все написано!

Help
AppActivate changes the focus to the ... application

А это я пробовал - та же фигня
1 фев 05, 10:00    [1289400]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить