Il mio progetto si mette male!
Ho provato queto codice che dovrebbe riportarmi il numero di WaveIn Device installate sul sistema e delle informazione su di esse:
Funziona solo: my $devices = waveInGetNumDevs();codice:#!/perl use strict; use warnings; use Win32::API; use Win32::API::Struct; use Data::Dumper; Win32::API::Struct->typedef( "WAVEINCAPS", qw{ INT ManufacturerID; INT ProductID; LONG DriverVersion; TCHAR ProductName[32]; LONG Formats; INT Channels; INT Reserved; } ) or die "Typedef error $!\n"; #Win32::API->Import( winmm => q{LRESULT waveInGetNumDevs()} ); Win32::API->Import("winmm", "int waveInGetNumDevs()"); Win32::API->Import( winmm => q{LRESULT waveInGetDevCaps(UINT_PTR DeviceID, LPWAVEINCAPS pwic, UINT cbwic)} ); my $devices = waveInGetNumDevs(); my $caps = Win32::API::Struct->new("WAVEINCAPS"); # Dim Caps As WaveInCaps print "Devices: $devices\n\n"; my $result; for (0 .. ($devices - 1) ) { $result = waveInGetDevCaps($_, $caps, Win32::API::Struct->sizeof('WAVEINCAPS')); } print Dumper $caps;
ma print Dumper $caps; restituisce tutte variabili null
che fare?
![]()



Rispondi quotando