关于C#开发ActiveX控件的一系列问题,高手请进
我现在在做了一个B/S的管理系统,其中有一部分资产管理涉及到条码打印,我打算用ACTIVEX实现客户端条码打印
终端机销售商给了我一个DLL,但这个DLL不是动态链接库,不能再项目中直接引用,他给了我一个TSCprint.cs文件,里面写了如何调用打印API的方法
/// <summary>
/// 封装TSC打印API声明
/// </summary>
public class TSCLib
{
[DllImport("tsclib.dll")]
public static extern int openport(string PrinterName);
[DllImport("tsclib.dll")]
public static extern int closeport();
......
}
他们还用了一个Settings.ini文件来定义打印的格式
;成工标签
[PDA]
PrinterName=TSC TTP-244 Plus
Width=200
Height=40
Speed=4
Density=12
Sensor=0
Vertical=2
Offset=0
[PDA1]
X=140
Y=20
Height=0
Width=0
Rotation=0
Text=
Enabled=0
FontSize=0
FontHeight=25
FontStyle=0
FontUnderline=0
FontName=黑体
我写打印控件调用打印
public static void InfoPrint(string strName, string strType, string strMemo, string strDeptName, string strGetTime, string strAssetCode)
{
TSCLabel printLabel; //实例化TSCprint中的类
IniFile.FileName = "GZPrintSettings.ini"; //INI文件的路径
printLabel = new TSCLabel("打印机信息");
printLabel.Items[0] = new Text("品名");
printLabel.Items[1] = new Text("型号");
printLabel.Items[2] = new Text("备注");
printLabel.Items[3] = new Text("部门");
printLabel.Items[4] = new Text("部门2");
printLabel.Items[5] = new Text("日期");
printLabel.Items[6] = new Barcode("条形码");
printLabel.Items[7] = new Text("条形码数字");
printLabel.LoadSettings();
printLabel.Items[0].Text.Value = strName;
printLabel.Items[1].Text.Value = strType;
printLabel.Items[2].Text.Value = strMemo;
string DeptName = strDeptName;
。。。。。
}
我现在用VS2008建了一个WINFORM窗体控件项目,一个安装项目,已经生成.msi合一个.EXE文件,我还没有做数字认证
目前我遇到的问题是:
1、[DllImport("tsclib.dll")] 中,我引用TSCLIB.DLL这个文件需要路径,也就是说客户端在安装文件ActiveX控件的时候需要把TSCLIB.DLL放到SYSTEM32下面,Settings.ini是否也放到SYSTEM32文件夹下,这个动作怎么来实现,是否用RAR做一个安装文件,指定安装目录到C:/WINDOWS/SYSTEM32,但是这个安装文件怎么才回执行,是在安装项目里面设置吗?
2、客户端安装ACTIVEX控件必须要安装.NET Framework嘛,我客户端有可能不能上网,所以我在安装项目生成控件时选择从下载目录安装依赖项,结果在Release下列出的东西有200多兆,那客户端下载ACTIVEX控件的同时要下载那么多东西么