Cd-Rom Açıp Kapatma..
-
#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
-
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 :)
-
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
-
Böyle bi şey mi yapacaksın :)
http://www.youtube.com/watch?v=bYcF_xX2DE8
-
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
-
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;)
-
JPriest bunu yazdı:
-----------------------------
Böyle bi şey mi yapacaksın :)
http://www.youtube.com/watch?v=bYcF_xX2DE8
-----------------------------aynen böyle birşey :) :)
-
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....
-
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 ??
-
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 ;)
-
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.....