Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Winamp & лампочки на клаве Добавлено: 25.01.07 18:22  

Автор вопроса:  Stars
Гдето в какойто проге видел как там лампочки на клаве мигают в такт музона!(Под бас) Есть народ у кого примеры какие как вообще програмно на VB можно их заставить мигать!

Спасибоньки всем по любому!

Ответить

  Ответы Всего ответов: 20  

Номер ответа: 1
Автор ответа:
 Djon



Вопросов: 61
Ответов: 471
 Web-сайт: www.vk-book.ru
 Профиль | | #1
Добавлено: 25.01.07 18:36
Попробуй SendKeys "нужная клавиша например:Caps Lock"

Ответить

Номер ответа: 2
Автор ответа:
 Djon



Вопросов: 61
Ответов: 471
 Web-сайт: www.vk-book.ru
 Профиль | | #2
Добавлено: 25.01.07 18:38
И запихни в таймер с нужным интервалом.

А чтобы под музон, где то модуль был чтобы с винампом работать может там что поможет...
Я ссылку поищу на модуль

Ответить

Номер ответа: 3
Автор ответа:
 Stars



Вопросов: 41
Ответов: 239
 Профиль | | #3 Добавлено: 25.01.07 18:41
Не раньше на Delphi был пример гдето более гуманный там я помню функция вызывалась кокаято а потом указывался номер лампочки 1...3

А если SendKeys использовать то в других приложениях путоница будет

Ответить

Номер ответа: 4
Автор ответа:
 Stars



Вопросов: 41
Ответов: 239
 Профиль | | #4 Добавлено: 25.01.07 18:44
Нуна чтото что будет вызывать мигание без нарушения функциональности клавиш типа Caps Lock

Ответить

Номер ответа: 5
Автор ответа:
 Djon



Вопросов: 61
Ответов: 471
 Web-сайт: www.vk-book.ru
 Профиль | | #5
Добавлено: 25.01.07 18:58
А на delphi какая функция?

Ответить

Номер ответа: 6
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #6
Добавлено: 25.01.07 19:51
SendInput

Ответить

Номер ответа: 7
Автор ответа:
 Stars



Вопросов: 41
Ответов: 239
 Профиль | | #7 Добавлено: 25.01.07 21:43
вот откопал пример

Как програмно переключить состояние клавиш Num Lock, Caps Lock, Scroll Lock?


VAR  
  KS: TKeyboardState;  
begin
 GetKeyboardState(KS);  
 KS[020] := KS[020] XOR 1; //Caps Lock  
 KS[144] := KS[144] XOR 1; //Num Lock  
 KS[145] := KS[145] XOR 1; //Scroll Lock  
 SetKeyboardState(KS);  
end

Но я видел гдето другой более подходящий а где не помню


Если кто может как исходя из этого примера можно вот это сделать только на Vb

Ответить

Номер ответа: 8
Автор ответа:
 Djon



Вопросов: 61
Ответов: 471
 Web-сайт: www.vk-book.ru
 Профиль | | #8
Добавлено: 25.01.07 21:47
помоему этот пример не далеко ушёл от SendKeys

Ответить

Номер ответа: 9
Автор ответа:
 Stars



Вопросов: 41
Ответов: 239
 Профиль | | #9 Добавлено: 25.01.07 22:19
При помощи SendKeys чтото не выходит

Писал

SendKeys chr$(20), True

Ответить

Номер ответа: 10
Автор ответа:
 Stars



Вопросов: 41
Ответов: 239
 Профиль | | #10 Добавлено: 25.01.07 22:19
Как должно быть?

Ответить

Номер ответа: 11
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #11
Добавлено: 26.01.07 01:28
#include <iostream>
#include <string>

#define _WIN32_WINNT 0x0500

#include <windows.h>

using namespace std;


void PressKey(WORD vk){
INPUT input;
memset(&input, 0, sizeof(input));
input.type = INPUT_KEYBOARD;
input.ki.wVk = vk;
input.ki.dwFlags = 0;
SendInput(1, &input, sizeof(input));
input.ki.dwFlags = KEYEVENTF_KEYUP;
SendInput(1, &input, sizeof(input));
}

void numlock(bool on){
SHORT nl = GetKeyState(VK_NUMLOCK);
if((nl & 1) != on) PressKey(VK_NUMLOCK);
}

void capslock(bool on){
SHORT nl = GetKeyState(VK_CAPITAL);
if((nl & 1) != on) PressKey(VK_CAPITAL);
}

void scrolllock(bool on){
SHORT nl = GetKeyState(VK_SCROLL);
if((nl & 1) != on) PressKey(VK_SCROLL);
}


int main(){
string s;
bool k[3] = {true, false, false};
int i = 0;
while(true){
k[i] = !k[i];
k[;(i+1)%3] = !k[;(i+1)%3];
i++;
numlock(k[0];);
capslock(k[1];);
scrolllock(k[2];);
Sleep(100);
}
return 0;
}

Ответить

Номер ответа: 12
Автор ответа:
 Stars



Вопросов: 41
Ответов: 239
 Профиль | | #12 Добавлено: 26.01.07 11:42
а на VB?

Ответить

Номер ответа: 13
Автор ответа:
 Stars



Вопросов: 41
Ответов: 239
 Профиль | | #13 Добавлено: 26.01.07 11:43
Pliz!

Ответить

Номер ответа: 14
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #14 Добавлено: 26.01.07 12:12
Тебя должно интересовать

Private Const VK_CAPITAL = &H14
Private Const VK_SCROLL = &H91
Private Const VK_NUMLOCK = &H90

В таймер сам засунешь...


Option Explicit

Private Const VER_PLATFORM_WIN32_NT = 2
Private Const VER_PLATFORM_WIN32_WINDOWS = 1


Private Const VK_CAPITAL = &H14
Private Const VK_SCROLL = &H91
Private Const VK_NUMLOCK = &H90


Private Const KEYEVENTF_EXTENDEDKEY = &H1
Private Const KEYEVENTF_KEYUP = &H2
           

Private Type OSVERSIONINFO
  dwOSVersionInfoSize As Long
  dwMajorVersion As Long
  dwMinorVersion As Long
  dwBuildNumber As Long
  dwPlatformId As Long
  szCSDVersion As String * 128
End Type

' API declarations:

Private Declare Function GetVersionEx Lib "kernel32" _
   Alias "GetVersionExA" _
   ;(lpVersionInformation As OSVERSIONINFO) As Long

Private Declare Sub keybd_event Lib "user32" _
   ;(ByVal bVk As Byte, _
    ByVal bScan As Byte, _
    ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

Private Declare Function GetKeyboardState Lib "user32" _
   ;(pbKeyState As Byte) As Long

Private Declare Function SetKeyboardState Lib "user32" _
   ;(lppbKeyState As Byte) As Long

Code:
Public Sub ToggleCapsLock(TurnOn As Boolean)

    'To turn capslock on, set turnon to true
    'To turn capslock off, set turnon to false
    
      Dim bytKeys(255) As Byte
      Dim bCapsLockOn As Boolean
      
'Get status of the 256 virtual keys
      GetKeyboardState bytKeys(0)
      
      bCapsLockOn = bytKeys(VK_CAPITAL)
      Dim typOS As OSVERSIONINFO
      
      If bCapsLockOn <> TurnOn Then 'if current state <>
                                     'requested stae
        
       If typOS.dwPlatformId = _
           VER_PLATFORM_WIN32_WINDOWS Then  '=== Win95/98

          bytKeys(VK_CAPITAL) = 1
          SetKeyboardState bytKeys(0)

        Else    '=== WinNT/2000

        'Simulate Key Press
          keybd_event VK_CAPITAL, &H45, _
             KEYEVENTF_EXTENDEDKEY Or 0, 0
        'Simulate Key Release
          keybd_event VK_CAPITAL, &H45, KEYEVENTF_EXTENDEDKEY _
             Or KEYEVENTF_KEYUP, 0
        End If
      End If

     
End Sub

Ответить

Номер ответа: 15
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #15 Добавлено: 26.01.07 12:13
Да, и перед использованием выкини слово "Code:" :)

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам