Jag har en vän som har förstört Eject-knapp på sin cd-spelare Här är en enkel en. Hej Viktigt tillägg för att det skall fungera SvenPon: varför måste man ta hand om returvärdet? Det kanske man måste i VB, men inte i C. Jag gör iaf inte det i ett av mina projekt, funkar bra ändå... Hej >Hej Det här är väl för Windows???? Ett annat sätt är ju att högerklicka på CDn i "Den här datorn" och välja "Mata ut" från menyvalet. När man sedan ska stänga brukar det alltid gå att "putta till" släden lite så åker den igen...Öppna Cd-spelaren
och frågade om jag kunde göra ett program som styr eject-funktionen
på båda hållen.
Jag sa att jag skulle titta på det ,men har inte hittat någon bra lösning,
kan någon hjälpa mig ??
Mvh DennisSv: Öppna Cd-spelaren
Modul
Declare Function mciSendString Lib "winmm.dll" Alias _
"mciSendStringA" (ByVal lpstrCommand As String, ByVal _
lpstrReturnString As String, ByVal uReturnLength As Long, _
ByVal hwndCallback As Long) As Long
Private Sub Cmdknapp_Click()
If Cmdknapp.Caption="Öppna" then
' Öppna CD Lucka
retvalue = mcisendstring("set CDAudio door open", _
returnstring, 127, 0)
Cmdknapp.Caption="Stäng"
Else
' Stäng CD Lucka
retvalue = mcisendstring("set CDAudio door closed", _
returnstring, 127, 0)
CmdKnapp.Caption."Öppna"
end if
End Sub
Det finns en hel del sätt men detta är ett litet tips :)
Man kan ju använda ex knapparna F1-12 om man vill.
Sv: Öppna Cd-spelaren
Du måste lägga upp en StringBuffer som tar hand om
returnedstring,hur man nu gör detta i C.
Private Sub Cmdknapp_Click()
Dim returnstring As String * 32
If Cmdknapp.Caption="Öppna" then
' Öppna CD Lucka
retvalue = mcisendstring("set CDAudio door open", _
returnstring, 127, 0)
Cmdknapp.Caption="Stäng"
Else
' Stäng CD Lucka
retvalue = mcisendstring("set CDAudio door closed", _
returnstring, 127, 0)
CmdKnapp.Caption."Öppna"
end if
End Sub
mvh
SvenSv: Öppna Cd-spelaren
#include <windows.h>
int main(void)
{
// Öppna:
mciSendString("Set CDAudio Door Open Wait", 0, 0, 0);
// Stänga:
mciSendString("Set CDAudio Door Closed Wait", 0, 0, 0);
}Sv: Öppna Cd-spelaren
Ja det där med C convention vs VB är alltid lurigt
I VB måste du lägga upp en buffer för lpreturnedstring
(long pointer) det har väl med pekare att göra.
VB stöder inte pekare teknik.
mvh
SvenSv: Öppna Cd-spelaren
>Ja det där med C convention vs VB är alltid lurigt
>I VB måste du lägga upp en buffer för lpreturnedstring
>(long pointer) det har väl med pekare att göra.
>VB stöder inte pekare teknik.
Nej. Det beror bara på att man i C/C++ kan strunta i ett returvärde helt om man vill, kompilatorn tar hand om problemet. I VB måste man sköta det själv.
Frågan är dock om man inte bör ta emot pekaren ändå... Var tilldelas bufferten? Den måste ju frigöras.
/Niklas JanssonSv: Öppna Cd-spelaren
Hur gör man i linux???
Har inget problem men vill gärna veta.
/gurraSv: Öppna Cd-spelaren