টপিকঃ সি/ভিবি দিয়ে সিডি/ডিভিডি ট্রে কীভাবে খুলবো?
অনেক গুগলিং করেও কিছুই পেলাম না। কেউ যদি জানেন কীভাবে সি অথবা ভিবি দিয়ে অপ্টিকাল ড্রাইভের ট্রে খুলতে/লাগাতে হয়, প্লিজ শেয়ার করুন।
অলি বারবার ফিরে যায়
তবেতো ফুল বিকাশে
আপনি প্রবেশ করেন নি। দয়া করে নিবন্ধন অথবা প্রবেশ করুন
প্রজন্ম ফোরাম » তথ্য ও যোগাযোগ প্রযুক্তি » অপারেটিং সিস্টেম » সি/ভিবি দিয়ে সিডি/ডিভিডি ট্রে কীভাবে খুলবো?
অনেক গুগলিং করেও কিছুই পেলাম না। কেউ যদি জানেন কীভাবে সি অথবা ভিবি দিয়ে অপ্টিকাল ড্রাইভের ট্রে খুলতে/লাগাতে হয়, প্লিজ শেয়ার করুন।
আমি তো প্রথম গুগলিং-এই পেয়ে গেলাম:
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()
Dim LRet As Long
LRet = mciSendString("set CDAudio door open", returnstring, 127, 0)
End Sub
Private Sub command2_Click()
Dim LRet As Long
LRet = mciSendString("set CDAudio door closed", returnstring, 127, 0)
End Sub#include <windows.h>
#include <winuser.h>
int main(void)
{
char sString[22] = "set cdaudio door open";
mciSendString(sString,0,0,0);
return 0;
}আরো উন্নত ভার্সন:
DWORD dwReturn;
MCI_OPEN_PARMS mciOpenParms;
mciOpenParms.lpstrDeviceType = (LPCSTR) dwDeviceType;
TCHAR szDriveName[4];
strcpy(szDriveName, "X:");
mciOpenParms.lpstrElementName=szDriveName;
DWORD dwFlags = MCI_OPEN_TYPE|MCI_OPEN_TYPE_ID|MCI_OPEN_ELEMENT|MCI_WAIT;
if (bShareable) dwFlags |= MCI_OPEN_SHAREABLE;
dwReturn = mciSendCommand(deviceid,MCI_OPEN, dwFlags, (DWORD)(LPVOID) &mciOpenParms);অনেক ধন্যবাদ ইনভার ভাই।
ভিবির কোড টা কাজ করেছে।
সি এর কোডটা এরর দেখাচ্ছে...
--------------------Configuration: Cpp1 - Win32 Debug--------------------
Compiling...
Cpp1.cpp
Linking...
Cpp1.obj : error LNK2001: unresolved external symbol __imp__mciSendStringA@16
Debug/Cpp1.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
Cpp1.exe - 2 error(s), 0 warning(s)
এটা ভিজ্যুয়াল সি++ দিয়ে করা। টারবো দিয়ে ট্রাই করতে চেয়েছিলাম, কিন্তু হেডার ফাইল নেই।
অন্য কোন পদ্ধতি আছে কি? 
Linking...
Cpp1.obj : error LNK2001: unresolved external symbol __imp__mciSendStringA@16
Debug/Cpp1.exe : fatal error LNK1120: 1 unresolved externals
সি প্রোগ্রামটা Winmm.lib রানটাইম লাইব্রেরীর সাথে লিংক করতে হবে। প্রোযেক্টের প্রোপার্টিয-এ গিয়ে Linker > Input > Additional Dependencies অপশনে winmm.lib লাইনটি যোগ করুন।
mci এপিআই-এর ব্যাপারে এখানে দেখুন: http://msdn.microsoft.com/en-us/library 85%29.aspx
এছাড়া কোডে mmsystem.h হেডার ফাইলটাও ইনক্লুড করতে পারেন। তবে #include <windows.h> দিয়েই কাজ হয়ে যাবার কথা - আলাদা করে mmsystem.h যোগ করার দরকার নাই।
এটা পুরণো টারবো সি দিয়ে মনে হয় করতে পারবেন বলে মনে হয় না। তবে কোডগিয়ার (প্রাক্তন বোরল্যান্ড) টার্বো সি++ বিল্ডার ২০০৬ ডাউনলোড করতে পারেন। এটা ফ্রী সফটওয়্যার:
http://www.turbomirror.com/
সর্বশেষ সম্পাদনা করেছেন invarbrass (31-12-2009 16:45)
ধন্যবাদ। কাজ করেছে। আরো ২ বছর আগে আমি এটা খুজেছিলাম। যাইহোক অন্যভাবে সমাধান করেছিলাম। এখন অবশ্য ভিবি তে কাজ করিনা। আর দেখে একবার টেস্ট করে দেখলাম। ভালোই লাগল।
শিরোনাম উত্তর সমূহ প্রদর্শন সর্বশেষ পোস্ট
লিখেছেন Kamrul08
লিখেছেন দক্ষিণের-মাহবুব
লিখেছেন আলোকিত
লিখেছেন মেহেদী আকরাম
লিখেছেন rico.hacker