hwnd ???

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

hwnd ???

Сообщение artyuha » 02.04.2005 (Сб) 7:49

Задам, наверное, страшно ламерский вопрос :oops: . Как найти hWnd нужного мне окна? ЧесСлово искал по форуму но не нашёл.

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 02.04.2005 (Сб) 7:52

Щас сделаем оперативный ответ :)
Поиск за именем окна или классом.
Код: Выделить всё
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Пример:
Код: Выделить всё
  Wnd = FindWindow(vbNullString, "Названия окна")
الفيجوال بيسك الرابح

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Re: hwnd ???

Сообщение vvs_adm » 02.04.2005 (Сб) 8:22

artyuha писал(а):Задам, наверное, страшно ламерский вопрос :oops: . Как найти hWnd нужного мне окна? ЧесСлово искал по форуму но не нашёл.
Нда... Я подумал, что это прикол :) Задал поиск по hWND по форуму. Действительно, хрен найдешь, если не знаешь вообще :)

artyuha
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 65
Зарегистрирован: 07.09.2004 (Вт) 3:47

Сообщение artyuha » 02.04.2005 (Сб) 9:21

Тогда ещё маленький вопросик. Как передать фокус этому окну? :roll:

artyuha
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 65
Зарегистрирован: 07.09.2004 (Вт) 3:47

Сообщение artyuha » 02.04.2005 (Сб) 16:15

Неуш-то ни кто не знает? :?

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 02.04.2005 (Сб) 17:18

Код: Выделить всё
Private Declare Function Putfocus Lib "user32" Alias "SetFocus" (ByVal hwnd As Long) As Long
الفيجوال بيسك الرابح

artyuha
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 65
Зарегистрирован: 07.09.2004 (Вт) 3:47

Сообщение artyuha » 02.04.2005 (Сб) 22:24

Чё-то не черта :( . Выдаёт код - 0.

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 03.04.2005 (Вс) 5:09

Какой с поиском, или с PutFocus.
Если второй то попробуй:
Код: Выделить всё
Declare Function SetActiveWindow Lib "user32.dll" (ByVal hwnd As Long) As Long

или
Код: Выделить всё
Declare Function SetForegroundWindow Lib "user32" Alias "SetForegroundWindow" (ByVal hwnd As Long) As Long
الفيجوال بيسك الرابح

artyuha
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 65
Зарегистрирован: 07.09.2004 (Вт) 3:47

Сообщение artyuha » 03.04.2005 (Вс) 9:02

Спасибо выручил, 2-е пошло с ходу. :D :D :D

artyuha
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 65
Зарегистрирован: 07.09.2004 (Вт) 3:47

Сообщение artyuha » 03.04.2005 (Вс) 9:20

Что за дело не пойму. Тут же выхожу из Ме, где всё работает и захожу в 2000 FindWindow не работет. :roll:

Код: Выделить всё
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Dim wnd as Long
wnd = FindWindow(vbNullString, "Компас-3D LT 5.11. Только для ознакомительных и учебных целей")

SeT
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 362
Зарегистрирован: 29.12.2004 (Ср) 13:11

Сообщение SeT » 03.04.2005 (Вс) 17:01

А как можно "убить" форму?
01000100
Причиняет боль 0010
Виртуальная любовь 00100
Индустрия снов 0010

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 03.04.2005 (Вс) 17:55

Код: Выделить всё
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Private Const WM_CLOSE As Long = &H10&

PostMessage Wnd, WM_CLOSE, 0, ByVal 0&


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

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

Сейчас этот форум просматривают: Bing-бот и гости: 192

    TopList