怎么开关光驱

shuilong 2003-08-22 05:01:31
用C#怎么样能够打开和关闭光驱。
...全文
102 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
pretender1982 2003-08-23
  • 打赏
  • 举报
回复
using System;
using System.Text;
using System.Runtime.InteropServices;

class CloseCD
{

[DllImport( "winmm.dll", EntryPoint="mciSendStringA", CharSet=CharSet.Ansi )]
protected static extern int mciSendString( string lpstrCommand, StringBuilder lpstrReturnString, int uReturnLength, IntPtr hwndCallback );

public static void Main()
{

int ret = mciSendString( "set cdaudio door open", null, 0, IntPtr.Zero );

Console.ReadLine();

ret = mciSendString( "set cdaudio door closed", null, 0, IntPtr.Zero );
}
}
shuilong 2003-08-23
  • 打赏
  • 举报
回复
楼上给出的好像是vb代码
甴曱 2003-08-22
  • 打赏
  • 举报
回复
you try:
---------------------------------------------------
 //-------------------------------------------
  //  利用API函数控制光驱的开和关
  //-------------------------------------------
  //程序说明:
  // 本例使用API函数 CDdoor 来控制光驱门的开和关程序十分简单,由于 CDdoor 函数自身包含了对异常错误的处理机制,因此这个程序的通用性很高,你可以把这段代码移植到你的程序中,实现某些多媒体播放器所常用的开关光驱的功能。
//-------------------------------------------
// Option Explicit
//说明:CDdoor函数是安装WINDOWS时所自带的winmm.dll文件中包含的函数
private [DllImport("GAIS", SetLastError=true)] static extern long CDdoor Lib "winmm.dll" Alias "mciSendStringA"( lpstrCommand As string, lpstrReturnString As string, uReturnLength As long, hwndCallback As long) {
//CDOpen用来标示光驱开与关的状态
CDOpen As bool;
private void Command1_Click() {
On Error Resume } //;
//如果关闭则打开,并且按钮做相应变化
if ( CDOpen = False ) {
Call CDdoor("set CDAudio door open", 0, 0, 0);
CDOpen = True;
Button1.Text = "点击关闭光驱";
} else {
//否则关闭
Call CDdoor("set CDAudio door closed", 0, 0, 0);
CDOpen = False;
Button1.Text = "点击打开光驱";
}
}
private void Form_Load() {
CDOpen = False;
Call CDdoor("set CDAudio door closed", 0, 0, 0);
}
shuilong 2003-08-22
  • 打赏
  • 举报
回复
自己顶
shuilong 2003-08-22
  • 打赏
  • 举报
回复
楼上的,我都是试过了,不行呀,
可能是我用的是双光驱,
怎么样才能开关特定的光驱呢
yongxin800 2003-08-22
  • 打赏
  • 举报
回复
C#怎样打开关闭CDROM?
using System;
using System.Text;
using System.Runtime.InteropServices;

class CloseCD
{

[DllImport( "winmm.dll", EntryPoint="mciSendStringA", CharSet=CharSet.Ansi )]
protected static extern int mciSendString( string lpstrCommand, StringBuilder lpstrReturnString, int uReturnLength, IntPtr hwndCallback );

public static void Main()
{

int ret = mciSendString( "set cdaudio door open", null, 0, IntPtr.Zero );

Console.ReadLine();

ret = mciSendString( "set cdaudio door closed", null, 0, IntPtr.Zero );
}
}
shuilong 2003-08-22
  • 打赏
  • 举报
回复
楼上的,我试过了,不行,
可能我用的是双光驱,
如何才能打开特定的光驱呢
雪狼1234567 2003-08-22
  • 打赏
  • 举报
回复
[DllImport("Winmm.dll")]
public static extern int mciSendString(string s1,string s2,int i1,int i2);

private void button1_Click(object sender, System.EventArgs e)
{
mciSendString("set cdaudio door open","",0,0);
}

private void button2_Click(object sender, System.EventArgs e)
{
mciSendString("set cdaudio door closed","",0,0);
panyee 2003-08-22
  • 打赏
  • 举报
回复
C#怎样打开关闭CDROM?
using System;
using System.Text;
using System.Runtime.InteropServices;

class CloseCD
{

[DllImport( "winmm.dll", EntryPoint="mciSendStringA", CharSet=CharSet.Ansi )]
protected static extern int mciSendString( string lpstrCommand, StringBuilder lpstrReturnString, int uReturnLength, IntPtr hwndCallback );

public static void Main()
{

int ret = mciSendString( "set cdaudio door open", null, 0, IntPtr.Zero );

Console.ReadLine();

ret = mciSendString( "set cdaudio door closed", null, 0, IntPtr.Zero );
}
}

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧