1) активировать свернутое окно приложения
2) каким то образом эмулировать нажатие клавишь - Alt S "вниз ""вправо" enter
Помогите пожалуйста Очень ОЧЕНЬ нужно сделать эту фигню

Андрей_2002 писал(а):...я практически не сталкивался с программированием... на работе получил такое задание... не знаю с чего они взяли, что я программист
Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
Private Sub Form_Load()
Call SetForegroundWindow(Me.Hwnd)
Call SendKeys("%S")
Call SendKeys("{DOWN}")
Call SendKeys("{RIGHT}")
Call SendKeys("{ENTER}")
End Sub
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
Private Sub Form_Load()
Dim lHandle As Long
lHandle = FindWindow(vbNullString, "xxx")
lHandle = SetForegroundWindow(lHandle)
Call SetForegroundWindow(Me.Hwnd)
Call SendKeys("%S")
Call SendKeys("{DOWN}")
Call SendKeys("{RIGHT}")
Call SendKeys("{ENTER}")
End Sub
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
Function ExtractRGB(byval Color as long, byref R as byte, byref G as byte, byref B as byte)
R=Color mod 256
G=Color \ 256 mod 256
B=Color \ 65536 mod 256
End Function
SendMessage hWnd, WM_ACTIVATE, 1, 0
Amed писал(а):Потом ищем его дочерние окна
xolod писал(а):Использовать ф-цию GetPixel
- Код: Выделить всё
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
Она возвратит цвет в формате длинного целого, чтобы вырвать значения КЗС, используем не хитрую ф-цию
- Код: Выделить всё
Function ExtractRGB(byval Color as long, byref R as byte, byref G as byte, byref B as byte)
R=Color mod 256
G=Color \ 256 mod 256
B=Color \ 65536 mod 256
End Function
После этого в переданных переменных R, G и B будут содержаться данные цветности
tyomitch писал(а):FindWindowEx и WM_MDIACTIVATE
currentDocHwnd = FindWindowEx(MainApp_hWnd, 0&, vbNullString, "c:\doc.txt")
Ennor писал(а):Эээ. А кто вам сказал, что в вашем случае wndClassName = vbNullString ? Сколько писал, ни разу такого не видел...
Option Explicit
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hWnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Sub Main()
Dim Name As String * 256, hWnd As Long
Do
hWnd = FindWindowEx(0, hWnd, vbNullString, vbNullString)
If hWnd = 0 Then Exit Do
Debug.Print Left(Name, GetClassName(hWnd, Name, 256))
Loop
End Sub
Андрей_2002 писал(а):xolod писал(а):Использовать ф-цию GetPixel
- Код: Выделить всё
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
Она возвратит цвет в формате длинного целого, чтобы вырвать значения КЗС, используем не хитрую ф-цию
- Код: Выделить всё
Function ExtractRGB(byval Color as long, byref R as byte, byref G as byte, byref B as byte)
R=Color mod 256
G=Color \ 256 mod 256
B=Color \ 65536 mod 256
End Function
После этого в переданных переменных R, G и B будут содержаться данные цветности
Что то я никак не пойму как указать координаты пикселя ???
Public Type POINTAPI
x As Long
y As Long
End Type
Public Declare Function GetCursorPos Lib "user32" Alias "GetCursorPos" (lpPoint As POINTAPI) As Long
'вызов такой
dim ret as long
dim pt as POINTAPI
ret=GetCursorPos(pt)
'теперь у тебя есть координаты текущей позиции курсора в pixels
debug.print pt.x
debug.print pt.y
Konst_One писал(а):
- Код: Выделить всё
Public Type POINTAPI
x As Long
y As Long
End Type
Public Declare Function GetCursorPos Lib "user32" Alias "GetCursorPos" (lpPoint As POINTAPI) As Long
'вызов такой
dim ret as long
dim pt as POINTAPI
ret=GetCursorPos(pt)
'теперь у тебя есть координаты текущей позиции курсора в pixels
debug.print pt.x
debug.print pt.y
дерзайте дальше
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6