using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Text;
using System.Runtime.InteropServices;
namespace MCI_test_mciSendString
{
/// <summary>
/// Summary description for Form1.
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
// MCIERROR mciSendString(
// LPCTSTR
lpszCommand,
// LPTSTR
lpszReturnString,
// UINT
cchReturn,
// HANDLE
hwndCallback
// );
[DllImport("winmm.dll")]
public static extern int
mciSendString(
string
lpszCommand,
StringBuilder
lpszReturnString,
int
cchReturn,
IntPtr
hwndCallback
);
// BOOL mciGetErrorString(
// DWORD
fdwError,
// LPTSTR
lpszErrorText,
// UINT
cchErrorText
// );
[DllImport("winmm.dll")]
public static extern int
mciGetErrorString(
int fdwError,
StringBuilder
lpszErrorText,
int
cchErrorText
);
private
System.Windows.Forms.Label label1;
private
System.Windows.Forms.TextBox textCmdString;
private
System.Windows.Forms.Button buttonDoIt;
private
System.Windows.Forms.Label label2;
private
System.Windows.Forms.Label labelErrorString;
private
System.Windows.Forms.Label labelReturnString;
private
System.Windows.Forms.Label label4;
/// <summary>
/// Required designer variable.
/// </summary>
private
System.ComponentModel.Container components = null;
public Form1()
{
//
// Required
for Windows Form Designer support
//
InitializeComponent();
//
// TODO: Add
any constructor code after InitializeComponent call
//
}
/// <summary>
/// Clean up any resources being
used.
/// </summary>
protected override void Dispose(
bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose(
disposing );
}
#region Windows Form Designer
generated code
/// <summary>
/// Required method for Designer
support - do not modify
/// the contents of this method
with the code editor.
/// </summary>
private void InitializeComponent()
{
this.label1 =
new System.Windows.Forms.Label();
this.textCmdString = new System.Windows.Forms.TextBox();
this.buttonDoIt = new System.Windows.Forms.Button();
this.label2 =
new System.Windows.Forms.Label();
this.labelErrorString = new System.Windows.Forms.Label();
this.labelReturnString = new System.Windows.Forms.Label();
this.label4 =
new System.Windows.Forms.Label();
this.SuspendLayout();
//
// label1
//
this.label1.Location = new System.Drawing.Point(48, 16);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(488, 23);
this.label1.TabIndex = 0;
this.label1.Text = "Enter Command String";
//
//
textCmdString
//
this.textCmdString.Location = new System.Drawing.Point(40, 48);
this.textCmdString.Name = "textCmdString";
this.textCmdString.Size = new System.Drawing.Size(480, 20);
this.textCmdString.TabIndex = 1;
this.textCmdString.Text = "";
//
// buttonDoIt
//
this.buttonDoIt.Location = new System.Drawing.Point(208, 88);
this.buttonDoIt.Name = "buttonDoIt";
this.buttonDoIt.Size = new System.Drawing.Size(128, 23);
this.buttonDoIt.TabIndex = 0;
this.buttonDoIt.Text = "Execute Command";
this.buttonDoIt.Click += new
System.EventHandler(this.buttonDoIt_Click);
//
// label2
//
this.label2.Location = new System.Drawing.Point(40, 232);
this.label2.Name = "label2";
this.label2.TabIndex = 3;
this.label2.Text = "Error String";
//
//
labelErrorString
//
this.labelErrorString.BorderStyle =
System.Windows.Forms.BorderStyle.Fixed3D;
this.labelErrorString.Location = new System.Drawing.Point(40,
264);
this.labelErrorString.Name = "labelErrorString";
this.labelErrorString.Size = new System.Drawing.Size(480, 48);
this.labelErrorString.TabIndex = 4;
//
//
labelReturnString
//
this.labelReturnString.BorderStyle =
System.Windows.Forms.BorderStyle.Fixed3D;
this.labelReturnString.Location = new System.Drawing.Point(40,
160);
this.labelReturnString.Name = "labelReturnString";
this.labelReturnString.Size = new System.Drawing.Size(480, 48);
this.labelReturnString.TabIndex = 5;
//
// label4
//
this.label4.Location = new System.Drawing.Point(40, 128);
this.label4.Name = "label4";
this.label4.TabIndex = 6;
this.label4.Text = "Return String:";
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(640, 325);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.label4,
this.labelReturnString,
this.labelErrorString,
this.label2,
this.buttonDoIt,
this.textCmdString,
this.label1});
this.Name =
"Form1";
this.Text =
"Test MCI Command Strings";
this.ResumeLayout(false);
}
#endregion
/// <summary>
/// The main entry point for the
application.
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void
buttonDoIt_Click(object sender, System.EventArgs e)
{
string sCmd =
textCmdString.Text;
StringBuilder
sbErr = new StringBuilder(256);
StringBuilder
sbRet = new StringBuilder(256);
int error =
mciSendString(sCmd, sbRet, 256, IntPtr.Zero);
mciGetErrorString(error, sbErr, 256);
string sRet =
sbRet.ToString();
labelReturnString.Text = sRet;
string sErr =
sbErr.ToString();
labelErrorString.Text = sErr;
textCmdString.Text = "";
textCmdString.Focus();
}
}
}