Окно поверх всех, движение мышки.

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

Окно поверх всех, движение мышки.

Сообщение Niko » 01.02.2007 (Чт) 10:23

добрый день!
у меня есть два вопроса:
1. как сделать так что-бы окошко всегда было поверх всех остальных?
2. как заставить мышь двигаться "самостоятельно"?
---
честно искал и не только тут, но видимо плохо.
зарание спасибо.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 01.02.2007 (Чт) 10:32

1. Однозначно Поиск.
2. Поиск. Подсказка: например mouse_event.

З.Ы. Что-то мне кажется, что это даже в FAQ есть
Весь мир матрица, а мы в нем потоки байтов!

Niko
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 102
Зарегистрирован: 16.03.2006 (Чт) 14:43

Сообщение Niko » 01.02.2007 (Чт) 10:34

спасибо буду искать дальше.

zHackLeX
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 283
Зарегистрирован: 23.10.2003 (Чт) 21:08

Сообщение zHackLeX » 01.02.2007 (Чт) 10:36

API копай...
SetWindowPos для AlwaysOnTop
SetCursorPos для мышки...
Смотри код
Код: Выделить всё
Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
Private Declare Function SetWindowPos Lib "user32" (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 SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1
Private Sub Command1_Click()
    SetCursorPos Int(Rnd * Screen.Width / Screen.TwipsPerPixelX), Int(Rnd * Screen.Height / Screen.TwipsPerPixelY)
End Sub
Private Sub Form_Load()
    Const HWND_TOPMOST = -1
    Const HWND_NOTOPMOST = -2
    SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE 'Or &H40
End Sub
There is no knowledge that is not power...

X,C,A,B,C,Z,X,A,B,C,Z....
Многие ли помнят? :)

Niko
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 102
Зарегистрирован: 16.03.2006 (Чт) 14:43

Сообщение Niko » 01.02.2007 (Чт) 12:08

Огромное спасибо :) все работает.

Niko
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 102
Зарегистрирован: 16.03.2006 (Чт) 14:43

Сообщение Niko » 01.02.2007 (Чт) 13:08

И еще один вопрос :)
Это будет программа для игры в онлайн-игрушку.
Смогут ли разработчики игры узнать что играет не человек а программа?
Если да то можно ли это обойти?

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 01.02.2007 (Чт) 13:19

Niko писал(а):Смогут ли разработчики игры узнать что играет не человек а программа?


Нет.
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;


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

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

Сейчас этот форум просматривают: серверянин, Google-бот, The trick и гости: 1

    TopList