А можно поподробнее о SendKeys

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

А можно поподробнее о SendKeys

Сообщение HotKitten » 12.03.2005 (Сб) 0:03

допустим, моя прога сидит в трее, а я сижу в VB, играет WinAmp, как ему передать нажатие клавиши B
Последний раз редактировалось HotKitten 17.09.2005 (Сб) 19:25, всего редактировалось 1 раз.
Изображение

Qubicz
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 16.10.2004 (Сб) 20:21
Откуда: Санкт-Петербург

Сообщение Qubicz » 12.03.2005 (Сб) 1:37

хоткеи настраиваются прямо в винампе
Или тебе, чтоб помучаться?

HotKitten
Дятил
Дятил
Аватара пользователя
 
Сообщения: 400
Зарегистрирован: 24.01.2005 (Пн) 21:48
Откуда: из дома

Сообщение HotKitten » 17.09.2005 (Сб) 19:25

у меня winamp 2.81, и менять не хочу

в поиске наковырял, что-то типа:
Код: Выделить всё
Public Const WM_GoToNext = 40048
Private Const IPC_GETOUTPUTTIME = 105
Private Const WM_WA_IPC = &H400

Public hWnd_m1 As Long

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Public Function GoToNext()
    hWnd_m1 = FindWindow("Winamp v1.x", vbNullString)   
    SendMessage hWnd_m1, WM_COMMAND, WM_GoToNext, vbNull
End Function

ноль реакции, коть бы ошибку выдал :(

подскажите плиз, или лучше подправьте кодик
Изображение

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

Сообщение BV » 17.09.2005 (Сб) 20:17

Во-первых уже давно как вышел Winamp 5.1, во-вторых, если нужны его plug-in'ы, дам пример, но такой способ работы зачем?
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;

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 17.09.2005 (Сб) 20:48

hWnd_m1 ненулевой? У меня ощущение, что у Винампа 2.81 другое имя класса.

Посмотри Spy++'ом из утилит Visual Studio.

HotKitten
Дятил
Дятил
Аватара пользователя
 
Сообщения: 400
Зарегистрирован: 24.01.2005 (Пн) 21:48
Откуда: из дома

Сообщение HotKitten » 17.09.2005 (Сб) 22:54

а что сам код разве правильный???
в смысле нажатие передаётся???

а на счёт того что лучше - 2.81 или 5.1, давайте не будем спорить

hWnd_m1 = FindWindow("Winamp v1.x", vbNullString)
в похожем коде winamp находят именно так, у меня работает


ребят посоветуйте что делать
Изображение

HotKitten
Дятил
Дятил
Аватара пользователя
 
Сообщения: 400
Зарегистрирован: 24.01.2005 (Пн) 21:48
Откуда: из дома

Сообщение HotKitten » 17.09.2005 (Сб) 23:38

всё всем спасибо, сделал :!: , всего в 3 КБ модуль :!: на основное управление winamp'ом, причем скорее всего любой версии,
буду тестировать :D :) :lol: :wink: 8)
Изображение


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

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

Сейчас этот форум просматривают: AhrefsBot и гости: 7

    TopList