using System;
using System.Runtime.InteropServices;
namespace PrnPort
{
/// <summary>
/// Class1 の概要の説明です。
/// </summary>
class Class1
{
const uint GENERIC_WRITE = 0x40000000;
const uint OPEN_EXISTING = 3;
/// <summary>
/// CreateFile は、Win32 SDK (unsafe) を使用します。
/// このため、プロジェクトのビルドプロパティで
/// セーフモード以外のコードブロックの許可を true に
/// する必要があります。
///
/// CreateFile の要件
/// Windows NT/2000/XP: Included in Windows NT 3.1 and later.
/// Windows 95/98/Me: Included in Windows 95 and later.
/// Header: Declared in Winbase.h; include Windows.h.
/// Library: Use Kernel32.lib.
/// </summary>
[DllImport("kernel32", SetLastError=true)]
static extern unsafe int CreateFile(
string filename,
uint desiredAccess,
uint shareMode,
uint attributes, // really SecurityAttributes pointer
uint creationDisposition,
uint flagsAndAttributes,
uint templateFile);
/// <summary>
/// アプリケーションのメイン エントリ ポイントです。
/// </summary>
[STAThread]
static void Main(string[] args)
{
int handle = CreateFile("PRN:",
GENERIC_WRITE,
0,
0,
OPEN_EXISTING,
0,
0);
System.IO.FileStream fs = new System.IO.FileStream((IntPtr)handle, System.IO.FileAccess.ReadWrite);
System.IO.StreamWriter sw = new System.IO.StreamWriter(fs);
sw.WriteLine("Hello World");
sw.Close();
fs.Close();
}
}
}
|