logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[C++] C++ sterowanie napędem CD-ROM – funkcje do wysuwania i wsuwania tacki

zbigel 26 Lut 2006 20:56 9528 12
REKLAMA
  • #1 2351510
    zbigel
    Poziom 12  
    Posty: 82
    Pomógł: 6
    Ocena: 11
    Czy ktoś zna może funkcje umozliwiające sterowanie napędem
    CD ROM w C++. Chodzi mi o wsuwanie i wysuwanie tacki.
    Z góry dziękuje.
  • REKLAMA
  • #2 2351559
    elektryk
    Poziom 42  
    Posty: 11029
    Pomógł: 439
    Ocena: 241
    C++ samo w sobie nie ma funkcji sterowania napędem, o to musisz "poprosić" system operacyjny.
  • #3 2351573
    zbigel
    Poziom 12  
    Posty: 82
    Pomógł: 6
    Ocena: 11
    A w jaki sposób to zrobić?
    Czy to jest bardzo trudne?
  • REKLAMA
  • #4 2352800
    JanuszPulit
    Poziom 17  
    Posty: 175
    Pomógł: 14
    Ocena: 4
    nie to bardzo proste pod windows robisz tak
    zeby otworzyć:
    
    mciSendString(_T("Set CDAudio Door Open"), NULL, 0, NULL);
    


    i zamknąć:
    
    mciSendString(_T("Set CDAudio Door Closed"), NULL, 0, NULL); 
    


    funkcja zadeklarowanna w Mmsystem.h, zeby jej użyć trzeba zaimportować bibliotekę Winmm.lib
  • #5 2354606
    zbigel
    Poziom 12  
    Posty: 82
    Pomógł: 6
    Ocena: 11
    Jest mały problem. Chyba mały.
    Otóż podczas kompilacji wskakiją błedy (widać na rysunku).
    W każdym bądź razie są to błedy dotyczce Mmsystem.h.
    Ściągnąłem inną z inernetu ale i to nic nie pomogło.
    Co zatem może być powodem takich błędów.
    Załączniki:
    • [C++] C++ sterowanie napędem CD-ROM – funkcje do wysuwania i wsuwania tacki Bledy.GIF (4.18 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #6 2354642
    JanuszPulit
    Poziom 17  
    Posty: 175
    Pomógł: 14
    Ocena: 4
    dołącz przed mmsystem.h plik windows.h to pewnie jest przyczyna
  • #7 2354700
    zbigel
    Poziom 12  
    Posty: 82
    Pomógł: 6
    Ocena: 11
    Dalej nie działa. Są te same błędy.
    Może jest coś nie tak z tym mmsystem.h.
    Nie wiem.
  • #8 2355021
    monsinior
    Poziom 17  
    Posty: 162
    Pomógł: 18
    Ocena: 7
    Dodaj do linkera winmm.lib i juz bedzie działać

    Wciśnij alt+F7 wejdz w zakładke link i w object/library modules wpisz winmm.lib :D:D:D:D
  • #9 2355384
    barteq1985
    Poziom 2  
    Posty: 3
    Zrobiłem tak i dalej nie działa.
  • #10 2355402
    zbigel
    Poziom 12  
    Posty: 82
    Pomógł: 6
    Ocena: 11
    O widze kolega ma taki sam problem.
    No mi to zadziałało.
  • REKLAMA
  • #11 2357883
    olekewaagata
    Poziom 25  
    Posty: 638
    Pomógł: 64
    Ocena: 28
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    mciSendString('set cdaudio door open wait',nil,0,handle);
    end;

    procedure TForm1.Button2Click(Sender: TObject);
    begin
    mciSendString('set cdaudio door closed wait',nil,0,handle);
    end;
    Sprawdz z tym
  • #12 2358600
    monsinior
    Poziom 17  
    Posty: 162
    Pomógł: 18
    Ocena: 7
    olekewaagata napisał:
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    mciSendString('set cdaudio door open wait',nil,0,handle);
    end;

    procedure TForm1.Button2Click(Sender: TObject);
    begin
    mciSendString('set cdaudio door closed wait',nil,0,handle);
    end;
    Sprawdz z tym


    Czy tu nie było aby mowy o C++:idea:
  • #13 2358977
    zbigel
    Poziom 12  
    Posty: 82
    Pomógł: 6
    Ocena: 11
    To jest kod ktory wpisany do Visual C++ napewno działa. No trzeba jeszcze dołaczyć to winmm.lib

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

    void main()
    {
    mciSendString("Set CDAudio Door Open wait", 0, 0, 0); //otwieranie
    // mciSendString("Set CDAudio Door Closed wait", 0, 0, 0); //zamykanie
    }

    Tym samy dziekuje wszystkim za pomoc i zamykam temat.

Podsumowanie tematu

LABEL_AI_GENERATED
W dyskusji omówiono sposób sterowania napędem CD-ROM w języku C++ z wykorzystaniem funkcji systemowych Windows. C++ nie posiada natywnych funkcji do wysuwania i wsuwania tacki CD, dlatego konieczne jest użycie funkcji systemowych, takich jak mciSendString z biblioteki Winmm.lib i nagłówka Mmsystem.h. Przykładowe polecenia to "Set CDAudio Door Open" do otwarcia i "Set CDAudio Door Closed" do zamknięcia tacki. Aby uniknąć błędów kompilacji, należy dołączyć przed mmsystem.h plik windows.h oraz dodać bibliotekę winmm.lib do linkera. Podano przykładowy kod działający w Visual C++, który otwiera tackę CD. Problemy z błędami kompilacji najczęściej wynikają z braku odpowiednich nagłówków lub niepodpiętej biblioteki linkera.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA