On top

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
v@Mp!rO
Новичок
Новичок
 
Сообщения: 47
Зарегистрирован: 17.01.2004 (Сб) 17:45

On top

Сообщение v@Mp!rO » 17.01.2004 (Сб) 18:05

Мне нужно сделать так чтобы форма была поверх... но не всех окон, а вообще всего что отображается на экране например игру я запустил и играю а в углу моя форма... и игре не мешает.

Это мне надо для таймера.
А то когда по нету играеш, такое творится!!!

JohnK
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 874
Зарегистрирован: 03.08.2002 (Сб) 0:35
Откуда: 48.02` 37.58`

Сообщение JohnK » 18.01.2004 (Вс) 1:38

А игрушки полноэкранные?
SELECT * FROM girls WHERE tits NOT NULL AND age BETWEEN 18 AND 25 ORDER BY Beauty

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 18.01.2004 (Вс) 2:25

Сделать это можно только одним способом, алгоритм:
выяснить, кто сейчас ActiveWindow (окно, directx, opengGL или overlay) -> получить идентификатор процесса, нарисовать или вставить (в зависимости от типа ActiveWindow, в overlay ничего не вставишь) что-то, что тебе надо.

Как сделать? Код не 2-3 строчки, и даже не 10-20.. читай MSDN - там есть все!

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

v@Mp!rO
Новичок
Новичок
 
Сообщения: 47
Зарегистрирован: 17.01.2004 (Сб) 17:45

Сообщение v@Mp!rO » 18.01.2004 (Вс) 21:07

xolod:
Как сделать? Код не 2-3 строчки, и даже не 10-20.. читай MSDN - там есть все!


У меня MSDN'a нету. Где его взять?
Точно никокого примера нет.
Очень нужно.

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 19.01.2004 (Пн) 0:52

Что ж, есть более простой способ. Только сразу предупреждаю.
Во первых: форма будет мигать в полноэкранном режиме
Во вторых: timer требует много (сравнительно) ресурсов

Private Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Const HWND_TOPMOST = -1
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOREDRAW = &H8
Private Const SWP_NOSIZE = &H1

'Помести таймер с интервалов <= 100 в код

Private Sub Timer1_Timer()
SetWindowPos hwnd, HWND_TOPMOST, 0&, 0&, 0&, 0&, SWP_NOMOVE or SWP_NOREDRAW or SWP_NOSIZE
End Sub

А вообще MSDN можно купить (~3 CD или 1 DVD) или скачать с www.microsoft.com если трафик халявный (читай: на работе)

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

v@Mp!rO
Новичок
Новичок
 
Сообщения: 47
Зарегистрирован: 17.01.2004 (Сб) 17:45

Сообщение v@Mp!rO » 19.01.2004 (Пн) 17:04

Я тут немного подумал и придумал:

Код: Выделить всё
Private Sub out_Timer()
Dim tr As RECT
tr.Left = 1 * Screen.TwipsPerPixelY
tr.Top = 1 * Screen.TwipsPerPixelX
tr.Right = 100 * Screen.TwipsPerPixelY
tr.Bottom = 20 * Screen.TwipsPerPixelX

Call SetTextColor(myhdc, QBColor(4))
Call DrawText(myhdc, d8mScrT, Len(d8mScrT), tr, 0)
End Sub


Можно обойтись и без формы.
Только как задний фон изменить. Цвет текста это понятно.

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 19.01.2004 (Пн) 17:20

Мне нужно сделать так чтобы форма была поверх...


Так что думаю отрисовка текста здесь мало подходит..[/quote]

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

v@Mp!rO
Новичок
Новичок
 
Сообщения: 47
Зарегистрирован: 17.01.2004 (Сб) 17:45

Сообщение v@Mp!rO » 19.01.2004 (Пн) 21:17

Почему текст рисуется поверх большинства приложений в том числе и игр. В старкрафте это работает а мне для него и надо.
Только таймер всёравно отстает.

v@Mp!rO
Новичок
Новичок
 
Сообщения: 47
Зарегистрирован: 17.01.2004 (Сб) 17:45

Сообщение v@Mp!rO » 19.01.2004 (Пн) 21:19

А и ещё как всётаки на тексте задний фон изменить?


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

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

Сейчас этот форум просматривают: AhrefsBot, Google-бот и гости: 19

    TopList