FOK!forum / Digital Corner / Visual Basic hulp gezocht
Boschkabouterzaterdag 30 augustus 2008 @ 01:30
Hoi,

Ik ben bezig met het maken van een klein programmaatje voor het aansturen van mijn pc via de Windows Media Center afstandsbediening. Ik weet dat er kant-en-klare oplossingen voor zijn, maar die wat ik gevonden heb voldoen allemaal niet.
Het lukt ook allemaal wel een beetje, behalve het ontvangen van de IR-signalen.

Hiervoor moet ik een unmanaged .DLL (MceIR.dll) aanroepen, maar helaas is mijn kennis van Visual basic daar iets te beperkt voor (al eeuwen niet gebruikt), en Google is niet echt behulpzaam.

Heeft iemand toevallig een idee hoe ik de volgende functie in Visual Basic (6) kan implementeren
Linkjes naar websites met informatie zijn ook welkom

1
2
3
4
5
6
7
8
9
10
11
12
13
14
========================================================================
MCEIR API Description (developpers restricted area)
========================================================================

BOOL WINAPI MceIrRegisterEvents(HWND hWnd)
------------------------------------------
To register the window that will receives messages on keystroke events (from MceIr only)
(IR code analysis is automatically suspended during a learning phase)

hWnd : handle to the window which will receives WM_USER messages
       wParam values is ID_MCEIR_KEYCODE
       LOWORD(lParam) contains the key code (see MceIr.h for the list)
       HIWORD(lParam) contains the repeat count (0 means a new keystroke)
returns TRUE is successfull
rekenwonderzaterdag 30 augustus 2008 @ 02:46
Je moet de functie eerst declareren. Iets in de trant van:

1
2
Declare Function MceIrRegisterEvents Lib "MceIR" 
            Alias "MceIrRegisterEvents" (ByVal hWnd As Long) As Long
Boschkabouterzaterdag 30 augustus 2008 @ 23:21
Ja. Zover was ik. Ik weet dat dat moet, maar ben er nog niet achter hoe precies, en hoe ik Visual Basic gebruik kan maken van die functionaliteit.
Dat declareren van de functies heb ik overigens gebruikt (om WinAmp te besturen), maar daar gebruik ik de standaard Windows user32.dll API.
Voorbeeld:
1
2
3
Public 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

Maar dit is volgens mij anders dan bij hetgene wat ik nodig heb, aangezien ik hier input krijg als ik erom vraag.
Ik wil (en hoop dat het mogelijk is) dat een functie wordt getriggerd als er een IR-signaal mijn MCE-ontvanger binnen komt.