111,097
社区成员




#region 打开钱箱
/// <summary>
/// 打开钱箱
/// </summary>
/// <param name="p_PrintName">打印机名称</param>
/// <param name="p_Byte">指令</param>
public static void openMoneyBox(string p_PrintName, byte[] p_Byte)
{
if (p_PrintName != null && p_PrintName.Length > 0)
{
IntPtr _PrintHandle;
IntPtr _JobHandle = Marshal.AllocHGlobal(100);
if (OpenPrinter(p_PrintName, out _PrintHandle, IntPtr.Zero))
{
ADDJOB_INFO_1 _JobInfo = new ADDJOB_INFO_1();
int _Size;
AddJob(_PrintHandle, 1, _JobHandle, 100, out _Size);
_JobInfo = (ADDJOB_INFO_1)Marshal.PtrToStructure(_JobHandle, typeof(ADDJOB_INFO_1));
//System.IO.File.WriteAllBytes(p_PrintName, p_Byte);
System.IO.File.WriteAllBytes(_JobInfo.lpPath, p_Byte);
ScheduleJob(_PrintHandle, _JobInfo.JobID);
ClosePrinter(_PrintHandle);
Marshal.FreeHGlobal(_JobHandle);
}
}
}
#endregion
string str = ((char)27).ToString() + "p" + ((char)0).ToString() + ((char)60).ToString() + ((char)255).ToString();
byte[] data = System.Text.Encoding.Default.GetBytes(str);
openMoneyBox(PrintName, data);
str 是打开钱箱的指令.钱箱的品牌不同,指令有可能不同.