怎么写打开钱箱的代码

1.如何知道印钞厂钱箱上的代码您好,代码如下:
[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
private static extern IntPtr CreateFile(string lpFileName,
int dwDesiredAccess,
int dwShareMode,
int lpSecurityAttributes,
int dwCreationDisposition,
int dwFlagsAndAttributes,
int hTemplateFile);
#region 开钱箱
///
/// 开钱箱
///
public void OpenDrawer()
{
try
【怎么写打开钱箱的代码】{
IntPtr iHandle = CreateFile("LPT1", 0x40000000, 0, 0, 3, 0, 0);
if (iHandle.ToInt32() == -1)
{
MessageBox.Show("没有连接打印机或者打印机端口未打开!","错误",MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
SafeFileHandle handle = new SafeFileHandle(iHandle, true);
FileStream fs = new FileStream(handle, FileAccess.ReadWrite);
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.Default);
sw.Write(((char)27).ToString() + "p" + ((char)0).ToString() + ((char)60).ToString() + ((char)255).ToString());
sw.Close();
fs.Close();
}
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
}
#endregion
2.delphi 问题 我写了段打开LTP端口钱箱的代码调试不通请问你的AssignFile(LPT,'LPT1');这一句里的LPT定义为何种类型?LPT是设备文件,如果定义不对就会出错 。从你的代码段来看,writestr出错的可能性更大,如果writestr命令无效则程序处于一种死循环里不能退出,估计是Write(LPT,writestr);这个函数在等待返回值时无法收到正确的值,所以看起来像是卡住了,重点应该检查LPT和writestr这两个变量的定义是否正确 。
另外,用CreatFile函数来打开串、并口比较好,具体细节请看WINAPI文档 。

怎么写打开钱箱的代码

文章插图