الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أمر إخراج ال Cd Door

بدأه Prof.Nawaf في 29 يوليو 2008 · 10 رد · 2,357 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمةا لله

سؤالي واضح ... كيفية عمل

eject

للسي دي

؟؟

علما : انني لا أستخدم الفيجوال سي++ ولا السي بلس بلس

...

شاكر لكم تعاونكم...

#2
اقتباس
علما : انني لا أستخدم الفيجوال سي++ ولا السي بلس بلس

اذا ماذا تستخدم ؟ :blush:

llback.jpg

اشهد ان لا إله إلا الله وان محمدا ً رسول الله

#3

السلام عليكم

!i!i!i!i!i!i!i!i!i!i!i!i!i

اخي إستعمل دوالapi

يمكن استعمالها (السي.السي بلس بلس .الأسمببلي32 ...)

تحية محارب :happy:

تم تعديل هذه المشاركة بواسطة المحارب الصغير في 30 يوليو 2008 في 14:03

الفريق العربي للبرمجة

16359.png

userbarxp.png

624.gif
#4
time1 كتب:
اذا ماذا تستخدم ؟ :blush:

يستخدم السي على ما أظن .

''‏اللهم إني أسالك إيمانا دائما وأسألك قلبا خاشعا وأسألك علما ‏نافعا وأسألك يقينا صادقا وأسألك دينا قيما وأسألك العافية من كل ‏بلية''

'‏اللهم أغفر للمؤمنين و المؤمنات و المسلمين و المسلمات الأحياء ‏منهم و الأموات'

www.it-scoop.com

#5
 

//Open or Close CD Drive
//cDrive is Drive Letter to Open, or 0x01 for 'Default' drive
//Examples:
//CD_OpenCloseDrive(TRUE, 'G');  //Open CD Door for Drive G:
//CD_OpenCloseDrive(FALSE, 'G'); //Close CD Door for Drive G:
//CD_OpenCloseDrive(TRUE, 1);	//Open First Logical CD Door

void CD_OpenCloseDrive(BOOL bOpenDrive, TCHAR cDrive)
{
MCI_OPEN_PARMS op;
MCI_STATUS_PARMS st;
DWORD flags;

TCHAR szDriveName[4];
strcpy(szDriveName, "X:");

::ZeroMemory(&op, sizeof(MCI_OPEN_PARMS));
op.lpstrDeviceType = (LPCSTR) MCI_DEVTYPE_CD_AUDIO;

if(cDrive > 1)
{
  szDriveName[0] = cDrive;
  op.lpstrElementName = szDriveName;
  flags = MCI_OPEN_TYPE
		| MCI_OPEN_TYPE_ID
		| MCI_OPEN_ELEMENT
		| MCI_OPEN_SHAREABLE;
}
else flags = MCI_OPEN_TYPE
			| MCI_OPEN_TYPE_ID
			| MCI_OPEN_SHAREABLE;

if (!mciSendCommand(0,MCI_OPEN,flags,(unsigned long)&op))
{
  st.dwItem = MCI_STATUS_READY;

  if(bOpenDrive)
   mciSendCommand(op.wDeviceID,MCI_SET,MCI_SET_DOOR_OPEN,0);
  else
   mciSendCommand(op.wDeviceID,MCI_SET,MCI_SET_DOOR_CLOSED,0);

  mciSendCommand(op.wDeviceID,MCI_CLOSE,MCI_WAIT,0);
}
}

مثال بدوالapi

........

اتمنا ان يفيد بشيء

تم تعديل هذه المشاركة بواسطة المحارب الصغير في 30 يوليو 2008 في 14:36

الفريق العربي للبرمجة

16359.png

userbarxp.png

624.gif
#6
SIFE كتب:
يستخدم السي على ما أظن .

ويمكن يستخدم C++.Net :rolleyes:

تم تعديل هذه المشاركة بواسطة time1 في 30 يوليو 2008 في 14:41

llback.jpg

اشهد ان لا إله إلا الله وان محمدا ً رسول الله

#7

طيب الكوود في السي ++

الي عندة ياليت يفيدنا

#8
almstshar2 كتب:
طيب الكوود في السي ++

الي عندة ياليت يفيدنا

الامر جدا بسيط :blush:

استدعي الملف

 #include <Mmsystem.h>

ضع هذا السطر داخل WinMain

	mciSendString("Set CDAudio Door Open Wait", NULL, 0, NULL);

تحياتي . . .

llback.jpg

اشهد ان لا إله إلا الله وان محمدا ً رسول الله

#9

هذا برنامج بسيط لفتح و اغلاق الـ CDrom بالـ C++ , اتمنا أن يفيد:

// use mciSendString() to open and close the CD-ROM door

// you have to link with the winmm.lib file, or

// in the case of Dev-C++ link with libwinmm.a via

// Project>>Project Options>>Parameters>>Add Lib>>libwinmm.a

// a Dev-C++ tested console application by vegaseat 18dec2004

#include <iostream>
#include <windows.h> // Sleep()
#include <mmsystem.h> // mciSendString()

using namespace std; // std::cout, std::cin
int main()
{
mciSendString("open CDAudio", NULL, 0, NULL);
Beep(440,1000);
cout << "Opening CD-ROM door ..." << endl;
mciSendString("set CDAudio door open", NULL, 0, NULL);
cout << "Closing the CD-ROM door in 5 seconds ..." << endl;
Sleep(5000);
mciSendString("set CDAudio door closed", NULL, 0, NULL);

mciSendString("close CDAudio", NULL, 0, NULL);

cin.get(); // wait
return 0;
}

تم تعديل هذه المشاركة بواسطة Super_emad55 في 31 يوليو 2008 في 12:17

ENG. IMAD, Programing is a way of life, It's in the air, we breath It's pumps through our veines, Without it, we soon crumble to dust

#10
Super_emad55 كتب:
هذا برنامج بسيط لفتح و اغلاق الـ CDrom بالـ C++ , اتمنا أن يفيد:

// use mciSendString() to open and close the CD-ROM door

// you have to link with the winmm.lib file, or

// in the case of Dev-C++ link with libwinmm.a via

// Project>>Project Options>>Parameters>>Add Lib>>libwinmm.a

// a Dev-C++ tested console application by vegaseat 18dec2004

#include <iostream>
#include <windows.h> // Sleep()
#include <mmsystem.h> // mciSendString()

using namespace std; // std::cout, std::cin
int main()
{
mciSendString("open CDAudio", NULL, 0, NULL);
Beep(440,1000);
cout << "Opening CD-ROM door ..." << endl;
mciSendString("set CDAudio door open", NULL, 0, NULL);
cout << "Closing the CD-ROM door in 5 seconds ..." << endl;
Sleep(5000);
mciSendString("set CDAudio door closed", NULL, 0, NULL);

mciSendString("close CDAudio", NULL, 0, NULL);

cin.get(); // wait
return 0;
}

حاولت تطبيقه باستخدام Dev فأظهر لي الأخطاء التالية

  [Linker error] undefined reference to `mciSendStringA@16'
#11

أضف هذه في البداية :

#pragma comment(lib, "Winmm.lib")

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

مواضيع مشابهة