Как найти окно у которого нет заголовка?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
AntonGV
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 24.05.2006 (Ср) 12:10
Откуда: г. Пермь

Как найти окно у которого нет заголовка?

Сообщение AntonGV » 24.04.2007 (Вт) 14:07

Необходимо найти и закрыть окно, котороее не имеет заголовка (см. аттач). По классу окна, найти не получается т.к. в системе несколько окон с таким же классом, и все без заголовка.
Вложения
screen.rar
синее окно по центру экрана
(224.37 Кб) Скачиваний: 66
Если долго мучиться, что-нибудь получится

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 24.04.2007 (Вт) 15:37

Она ВСЕГДА на по центру десктопа?
Изображение

VB-constructor
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 160
Зарегистрирован: 24.07.2006 (Пн) 21:37
Откуда: Ростов-на-Дону

Сообщение VB-constructor » 24.04.2007 (Вт) 22:35

Попробуй WinSpyэем его пощупать, может есть слабые места
Человек рождён для того, чтобы достичь жизни...

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 25.04.2007 (Ср) 14:39

VB-constructor
Тут только если по расположению. + Можно глянуть на предмет того, что есть дочернее окно(читай - контрол), которого в других таких-же нету.
Изображение

AntonGV
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 24.05.2006 (Ср) 12:10
Откуда: г. Пермь

Сообщение AntonGV » 26.04.2007 (Чт) 11:32

keks-n
Спасибо, разобрался. Вот такой код получился (этих окошек обычно бывает 3)
Код: Выделить всё
Option Explicit
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Declare Function WindowFromPoint Lib "user32.dll" (ByVal xPoint As Long, ByVal yPoint As Long) As Long
Public Declare Function GetWindowTextLength Lib "user32.dll" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long
Public Const WM_CLOSE = &H10

Sub Main()
  Dim hwnd As Long, slength As Long
  slength = 0
  Do While slength = 0
    hwnd = WindowFromPoint(500, 350)
    slength = GetWindowTextLength(hwnd)
    If slength = 0 Then SendMessage hwnd, WM_CLOSE, 0, 0
  Loop
End Sub

Еще один вопросик. Если я пропишу свою программу в реестре в список автозагрузки последней, то она будет загружаться последней или нет?
Если долго мучиться, что-нибудь получится

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 26.04.2007 (Чт) 11:35

Нет.
Изображение


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Majestic-12 [Bot] и гости: 89

    TopList