[ Toxic Flame @ 03.11.2004. 09:18 ] @
moze li mi neko reci kod kojim se otvaraju vratanca cd odnosno kojim se cd ejectuje?
potreban mi je VB kod
[ VRKY @ 03.11.2004. 09:27 ] @
Evo ti ovaj način:


Code:

Private 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 Command1_Click()
On Error Resume Next
retvalue = mciSendString("set CDAudio door open", returnstring, 127, 0)
End Sub

Private Sub Command2_Click()
On Error Resume Next
retvalue = mciSendString("set CDAudio door closed", returnstring, 127, 0)
End Sub


[Ovu poruku je menjao VRKY dana 03.11.2004. u 13:04 GMT+1]
[ mladenovicz @ 03.11.2004. 09:40 ] @
Code:

'Example by Howard Henry Schlunder
' This example requires one command button (Command1)
Private Declare Function GetVersion Lib "kernel32" () As Long
Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" _
(ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, _
lpSecurityAttributes As Any, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, _
ByVal hTemplateFile As Long) As Long
Private Declare Function DeviceIoControl Lib "kernel32" (ByVal hDevice As Long, _
ByVal dwIoControlCode As Long, lpInBuffer As Any, ByVal nInBufferSize As Long, lpOutBuffer As Any, _
ByVal nOutBufferSize As Long, lpBytesReturned As Long, lpOverlapped As Any) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Const INVALID_HANDLE_VALUE = -1
Private Const OPEN_EXISTING = 3
Private Const FILE_FLAG_DELETE_ON_CLOSE = 67108864
Private Const GENERIC_READ = &H80000000
Private Const GENERIC_WRITE = &H40000000
Private Const IOCTL_STORAGE_EJECT_MEDIA = 2967560
Private Const VWIN32_DIOC_DOS_IOCTL = 1
 
Private Type DIOC_REGISTERS
  reg_EBX As Long
  reg_EDX As Long
  reg_ECX As Long
  reg_EAX As Long
  reg_EDI As Long
  reg_ESI As Long
  reg_Flags As Long
End Type
 
Private Sub Command1_Click()
Dim hDrive As Long, DummyReturnedBytes As Long
Dim EjectDrive As String, DriveLetterAndColon As String
Dim RawStuff As DIOC_REGISTERS
  EjectDrive = InputBox("Which drive shall we try to eject the media from?", "Eject Media")
  If Len(EjectDrive) Then 'Confirm the user didn't cancel
    DriveLetterAndColon = UCase(Left$(EjectDrive & ":", 2)) 'Make it all caps for easy interpretation
    If GetVersion >= 0 Then 'We are running Windows NT/2000
      hDrive = CreateFile("\\.\" & DriveLetterAndColon, GENERIC_READ Or GENERIC_WRITE, 0, ByVal 0, OPEN_EXISTING, 0, 0)
      If hDrive <> INVALID_HANDLE_VALUE Then
        'Eject media!
        Call DeviceIoControl(hDrive, IOCTL_STORAGE_EJECT_MEDIA, 0, 0, 0, 0, DummyReturnedBytes, ByVal 0)
        Call CloseHandle(hDrive)  'Clean up after ourselves
      End If
    Else  'We are running Win9x/Me
      hDrive = CreateFile("\\.\VWIN32", 0, 0, ByVal 0, 0, FILE_FLAG_DELETE_ON_CLOSE, 0)
      If hDrive <> INVALID_HANDLE_VALUE Then
        'Setup our raw registers to use Interrupt 21h Function 440Dh Minor Code 49h
        RawStuff.reg_EAX = &H440D   'The function to use
        RawStuff.reg_EBX = Asc(DriveLetterAndColon) - Asc("A") + 1 'The drive to do it on
        RawStuff.reg_ECX = &H49 Or &H800    
        'The minor code of the function in the low byte of the low word and the device category of 8 in the high byte of the low word
        'Eject media!
        Call DeviceIoControl(hDrive, VWIN32_DIOC_DOS_IOCTL, RawStuff, LenB(RawStuff), RawStuff, LenB(RawStuff), DummyReturnedBytes, ByVal 0)
        Call CloseHandle(hDrive)  'Clean up after ourselves
      End If
    End If
  End If
End Sub

[ Toxic Flame @ 03.11.2004. 09:47 ] @
ovo radi!
Hvala...
[ VRKY @ 03.11.2004. 10:01 ] @
A što onaj moj kod ne radi? Možda ne radi zbog deklaracije jer sam ju razlamao da stane...
[ mladenovicz @ 03.11.2004. 10:23 ] @
Kada stavljas _ moras da stavis jedan space pre.
[ VRKY @ 03.11.2004. 12:05 ] @
OK, izmjenjeno, sad bi onda trebalo šljakati...
[ Toxic Flame @ 11.11.2004. 10:50 ] @
VRKY sto se tice tvog koda... on radi kod mene ali kada sam ga hteo poslati.... pali mi se antivirus koji kaze da je potencionaly unsafe...
postoji li kod koji to nece da pali av?
[ goran Ivcic @ 23.01.2005. 20:40 ] @
Mozda jos jedno malo pitanjce...

Ovaj prvi kod radi kada ga pokrenem iz VB6,
ali kada pokusam i napravim .exe tada ne radi!

Zasto?????
[ VRKY @ 23.01.2005. 20:58 ] @
Koji? Moj kod ili?
[ goran Ivcic @ 28.01.2005. 18:39 ] @
Da, da, tvoj. Ne znam zasto???
[ Aleksandar Ružičić @ 28.01.2005. 19:58 ] @
evo ovaj zeljkov kod radi i moze da se kompiluje, vrkyjev nisam probao mada sam tako nesto video na psc (i radilo je)...
[ VRKY @ 28.01.2005. 21:38 ] @
Evo, ponovno pokušavam i radi... zašto kod tebe ne? Piše li kaki error
[ Aleksandar Ružičić @ 29.01.2005. 13:16 ] @
meni radi vrkijev kod, ne znam zasto nece kod tebe, pokusaj ovako:
Code:

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

Public Sub CDRom(onoff As Boolean)
    Dim lReturn As Long
    Dim state As String
    
    If onoff Then state = " open" Else state = " close"
    
    mciSendString "set CDAudio door" & state, lReturn, 127, 0

End Sub


bacis ovo u modul i samo negde u kodu dodas CDRom True/False
meni radi
[ PeecO Undead @ 05.06.2006. 00:37 ] @
ma samo napravi dva buttona i modul

U form:

Code:
Private Sub Command1_Click()
lngReturn = mciSendString("set CDAudio door open", strReturn, 127, 0)
End Sub

Private Sub Command2_Click()
lngReturn = mciSendString("set CDAudio door closed", strReturn, 127, 0)
End Sub


U Modul:

Code:
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


[Ovu poruku je menjao Shadowed dana 05.06.2006. u 15:11 GMT+1]
[ Aleksandar Ružičić @ 05.06.2006. 10:36 ] @
@PeecO Undead: pogledaj timestamp-ove :)
[ Nibble @ 05.06.2006. 14:04 ] @
Sta ima veze nekom ce zatrebati :))