Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Ещё вопросик по доступу к чужим прогам. Добавлено: 21.08.02 21:25  

Автор вопроса:  Anatron

Прив всем!

Кто-нить знает как узнать высоту, длинну, лево, верх проги + как отсканировать что в ней есть(в графическом формате).

А если кто знает как узнать все её переменные, то это вообще облегчит мою жизнь! :)

Ответить

  Ответы Всего ответов: 1  

Номер ответа: 1
Автор ответа:
 demon



Вопросов: 2
Ответов: 7
 Профиль | | #1 Добавлено: 22.08.02 15:10

Однако!   не дают покоя народу чужие проги...
Я так понял - имеется ввиду активное в данный момент приложение?
если да, то по 1 вопросу:
узнаешь хендл активного окна
Private Declare Function GetActiveWindow Lib "user32" Alias "GetActiveWindow" () As Long
dim hwd as Long
hwd=GetActiveWindow ()
а потом получаешь кооринаты углов ограничивающего прямоугольника этого окна
Private Declare Function GetWindowRect Lib "user32" Alias "GetWindowRect" (ByVal hwnd As Long, lpRect As RECT) As Long
Private Type RECT
        Left As Long
        Top As Long
        Right As Long
        Bottom As Long
End Type
Dim r as RECT
GetWindowRect hwd, r
Х1 - r.Left, X2 - r.Right
Y1 - r.Top, Y2 - r.Bottom
потом вычитанием размеры окна и получишь (r.Right-r.Left и т.д)
2 вопрос:
что значит "отсканировать"?
если ты про снимок активного окна, то в библиотеке вроде был пример, (или нет - не помню, честно)
на всякий случай лови:
'---
Private Declare Function MapVirtualKey Lib "user32" _
Alias "MapVirtualKeyA" (ByVal wCode As Long, _
ByVal wMapType As Long) As Long
Private Declare Sub keybd_event Lib "user32" _
(ByVal bVk As Byte, ByVal bScan As Byte, _
ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const VK_MENU = &H12
Private Const KEYEVENTF_KEYUP = &H2
Private Const VK_SNAPSHOT = &H2C
Private Sub WindowCapture()
Dim AltKey as Integer
AltKey = MapVirtualKey(VK_MENU, 0)
Screen.MousePointer = vbHourglass
keybd_event VK_MENU, AltKey, 0, 0
DoEvents
keybd_event VK_SNAPSHOT, 0, 0, 0
DoEvents
Picture1.Picture = Clipboard.GetData(vbCFBitmap)
keybd_event VK_MENU,AltKey , KEYEVENTF_KEYUP, 0
Screen.MousePointer = vbDefault
Private Sub Form_Load()
WindowCapture
SavePicture Picture1.Picture, App.Path & "\test.bmp"
End Sub
'---
вроде так...
конечно, можно и через StretchBlt, но я не знаю, как потом в файл сохранить  :(  (кто знает - напишите, плиз)
что же касается переменных - как узнать, не знаю  :) , но тоже интересно. может, кто-нить подскажет.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам