using System.IO;
using System.Runtime.InteropServices;
using Microsoft.Win32.SafeHandles;
[DllImport("Kernel32.dll")]
static extern IntPtr CreateFile(
string filename,
[MarshalAs(UnmanagedType.U4)]FileAccess fileaccess,
[MarshalAs(UnmanagedType.U4)]FileShare fileshare,
int securityattributes,
[MarshalAs(UnmanagedType.U4)]FileMode creationdisposition,
int flags,
IntPtr template);
[DllImport("kernel32.dll")]
static extern bool CloseHandle(IntPtr hObject);
private void button1_Click(object sender, EventArgs e)
{
SafeFileHandle sfh = null;
IntPtr ptr = CreateFile("PRN", FileAccess.Write, FileShare.Write, 0, FileMode.Open, 0, IntPtr.Zero);
sfh = new SafeFileHandle(ptr, true);
StreamWriter sw = new StreamWriter(new FileStream(sfh, FileAccess.Write));
sw.WriteLine("发送打印机控制命令");
sw.Close();
CloseHandle(ptr);
}