folder Tahribat.com Forumları
linefolder C - C++
linefolder Cd-Rom Açıp Kapatma..



Cd-Rom Açıp Kapatma..

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    berkeraaa
    berkeraaa's avatar
    Kayıt Tarihi: 30/Aralık/2009
    Erkek

    #include <iostream>
    #include <windows.h>
    #include <mmsystem.h>

    using namespace std;

    int main()
    {
    mciSendString("open CDAudio", NULL, 0, NULL);
    mciSendString("set CDAudio door open", NULL, 0, NULL);//Open the door
    Sleep(1000);
    mciSendString("set CDAudio door closed", NULL, 0, NULL);//Close the door
    mciSendString("close CDAudio", NULL, 0, NULL);

    }

     

    arkadaşlar cd-rom açıp kapayan bir kod bütünü yazmaya çalıştım....yapamadım google amcaya sordum o buldu verdiği kod çalışmadı....zaten koddanda pek bişey anlamak mümkün olmadı ama :D :D sorun nedir sizce burada ?? Id Returned zımbırtısı alıyorum Dev c++ da

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Heima
    Heima's avatar
    Kayıt Tarihi: 22/Mayıs/2007
    Erkek

     cd eject tool diye bi dalga var klavye tuşları ile combine edion tuşlara bastığında cdrom açılıyor.. 

     

    Ama senin mantığında cdrom kapağını açmak için düğmeye basmaya üşeniosan cdrom kapağına cd takmayada üşeniyor oluyorsun dolayısıyla.. Cdrom tepsisine cd koyacak bir program yok bildiğim kadarıyla, bunun içinde bi eleman tutacan asgari ücretli felan :)

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Çömez
    underzero
    underzero's avatar
    Üstün Hizmet Madalyası
    Kayıt Tarihi: 20/Ocak/2003
    Erkek

    http://www.ozgrid.com/forum/showthread.php?t=66085&page=1

    c degil ama vba kodlari vardi.

    yillar once excele bakarken gormustum iki button vardi birine basinca aciyor digeri kapatiyordu belki isine yarar

     


    pist bak bi ! - Ban Golu Canavari
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    JPriest
    JPriest's avatar
    Kayıt Tarihi: 09/Mart/2007
    Erkek

    Böyle bi şey mi yapacaksın :)

    http://www.youtube.com/watch?v=bYcF_xX2DE8


    Sen hiç kaval çaldın mı?
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    guru
    guru's avatar
    Kayıt Tarihi: 30/Mart/2007
    Erkek

    JPriest bunu yazdı:
    -----------------------------

    Böyle bi şey mi yapacaksın :)

    http://www.youtube.com/watch?v=bYcF_xX2DE8


    -----------------------------

    bu supermis yaa :) 

     

    su linkte bi iki kod var, incele istersen. 

    http://stackoverflow.com/questions/58670/windows-cdrom-eject


    ..
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    aksata
    aksata's avatar
    Kayıt Tarihi: 28/Aralık/2009
    Erkek
    Declare Sub mciSendStringA Lib "winmm.dll" (ByVal lpstrCommand As String, _
    ByVal lpstrReturnString As Any, ByVal uReturnLength As Long, _
    ByVal hWndCallback As Long)
    Option Private Module
    Sub OpenCDTray()
        mciSendStringA "Set CDAudio Door Open", 0&, 0, 0
        MsgBox "What did you do? Please close your CD Tray so that you can continue!"
        UserForm1.CommandButton1.Visible = False
        UserForm1.CommandButton2.Visible = True
    End Sub
    
    Sub CloseCDTray()
        mciSendStringA "Set CDAudio Door Closed", 0&, 0, 0
        MsgBox "Thank You for closing me! Now you can proceed with whatever you wanted to do!"
        UserForm1.CommandButton2.Visible = False
        UserForm1.CommandButton1.Visible = True
        Unload UserForm1
    End Sub

     

    dursun bi ara bakarız;)


    Bazıları özgürlüğü sadece kendileri gibi düşünenlere reva görüyor...
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    berkeraaa
    berkeraaa's avatar
    Kayıt Tarihi: 30/Aralık/2009
    Erkek

    JPriest bunu yazdı:
    -----------------------------

    Böyle bi şey mi yapacaksın :)

    http://www.youtube.com/watch?v=bYcF_xX2DE8


    -----------------------------

     

    aynen böyle  birşey :) :)

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    berkeraaa
    berkeraaa's avatar
    Kayıt Tarihi: 30/Aralık/2009
    Erkek

    GrN bunu yazdı:
    -----------------------------

    JPriest bunu yazdı:
    -----------------------------

    Böyle bi şey mi yapacaksın :)

    http://www.youtube.com/watch?v=bYcF_xX2DE8


    -----------------------------

    bu supermis yaa :) 

     

    su linkte bi iki kod var, incele istersen. 

    http://stackoverflow.com/questions/58670/windows-cdrom-eject


    -----------------------------

     

    hocam yemedi bunlarda...birinde çok yaklaştm ama kernel ile iletişimi kesti program....

  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    berkeraaa
    berkeraaa's avatar
    Kayıt Tarihi: 30/Aralık/2009
    Erkek

    aksata bunu yazdı:
    -----------------------------

    Declare Sub mciSendStringA Lib "winmm.dll" (ByVal lpstrCommand As String, _
    ByVal lpstrReturnString As Any, ByVal uReturnLength As Long, _
    ByVal hWndCallback As Long)
    Option Private Module
    Sub OpenCDTray()
        mciSendStringA "Set CDAudio Door Open", 0&, 0, 0
        MsgBox "What did you do? Please close your CD Tray so that you can continue!"
        UserForm1.CommandButton1.Visible = False
        UserForm1.CommandButton2.Visible = True
    End Sub
    
    Sub CloseCDTray()
        mciSendStringA "Set CDAudio Door Closed", 0&, 0, 0
        MsgBox "Thank You for closing me! Now you can proceed with whatever you wanted to do!"
        UserForm1.CommandButton2.Visible = False
        UserForm1.CommandButton1.Visible = True
        Unload UserForm1
    End Sub

     

    dursun bi ara bakarız;)



    -----------------------------

     

     

    Hocam bunlar VB kodlarına benziyor ama ??

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    guru
    guru's avatar
    Kayıt Tarihi: 30/Mart/2007
    Erkek

    bool ejectDisk(TCHAR driveLetter)
    {
      TCHAR tmp[12];
      _stprintf(tmp, _T("\\\\.\\%c:"), driveLetter);
      HANDLE handle = ::CreateFile(tmp, GENERIC_READ, FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0);
      DWORD bytes = 0;
      DeviceIoControl(handle, FSCTL_LOCK_VOLUME, 0, 0, 0, 0, &bytes, 0);
      DeviceIoControl(handle, FSCTL_DISMOUNT_VOLUME, 0, 0, 0, 0, &bytes, 0);
      DeviceIoControl(handle, IOCTL_STORAGE_EJECT_MEDIA, 0, 0, 0, 0, &bytes, 0);
      CloseHandle(handle);
      return true;
    }

     

    yukaridaki kod patir kutur calisiyo valla.

     

    kullanmak icin Windows.h ve tchar.h  baslik dosyalarini eklemeyi unutma ;)

     

    cagirirken de,, mesela D:  diski cd surucun olsun

    ejectDisk(_T('D'));

    seklinde cagiricaksin ;)


    ..
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    berkeraaa
    berkeraaa's avatar
    Kayıt Tarihi: 30/Aralık/2009
    Erkek

    GrN bunu yazdı:
    -----------------------------

     

    bool ejectDisk(TCHAR driveLetter)
    {
    TCHAR tmp[12];
    _stprintf(tmp, _T("\\\\.\\%c:"), driveLetter);
    HANDLE handle = ::CreateFile(tmp, GENERIC_READ, FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0);
    DWORD bytes = 0;
    DeviceIoControl(handle, FSCTL_LOCK_VOLUME, 0, 0, 0, 0, &bytes, 0);
    DeviceIoControl(handle, FSCTL_DISMOUNT_VOLUME, 0, 0, 0, 0, &bytes, 0);
    DeviceIoControl(handle, IOCTL_STORAGE_EJECT_MEDIA, 0, 0, 0, 0, &bytes, 0);
    CloseHandle(handle);
    return true;
    }

     

     

    yukaridaki kod patir kutur calisiyo valla.

     

    kullanmak icin Windows.h ve tchar.h  baslik dosyalarini eklemeyi unutma ;)

     

    cagirirken de,, mesela D:  diski cd surucun olsun

    ejectDisk(_T('D'));

    seklinde cagiricaksin ;)


    -----------------------------

     

    hocam 7,8,9 uncu satırlarda compile error alıyorum...

    FSCTL_LOCK_VOLUME

    FSCTL_DISMOUNT_VOLUME

    IOCTL_STORAGE_EJECT_MEDIA

    undeclared function.....

Toplam Hit: 3844 Toplam Mesaj: 14