c#窗体应用程序实现软件开机自启,并可以通过路径控制ICT测试软件的打开和关闭。良品条码和不良品条码可以在本地文件夹中的txt文件中获取。当软件开启,就在数据库扫描是否有设置的良品和不良品条码的当天测试记录(数据库ICT_test表中Barcode和Date项的记录),如果存在,lable状态栏变绿并提示“已点检,请进行ICT测试”。就可以通过c#软件开启按钮打开ICT测试软件,进行其他条码的ICT测试。如果数据库中没有设置的良品和不良品条码的测试记录,点击开启ICT测试按钮时,label状态栏变红,并提示“请进行测试前点检”,然后就先进行设置条码的ICT测试,判断扫描到txt_barcode的条码是否为txt文件中设置的良品或不良品条码,如输入的条码不符合,label状态栏变红,并提示“条码错误”,如输入的条码正确并为设置的良品条码,label状态栏变绿,并提示“请进行良品点检”,这时就能打开ICT测试软件,然后将扫到txt_barcode的良品条码通过模拟键盘复制黏贴到ICT条码栏,进行ICT测试,当发现有良品条码的点检报告生成,表示良品点检完成。测试完成后label状态栏提示“良品点检完成”,并将测试记录更新到数据库。
时间: 2023-11-29 16:05:09 浏览: 62
实现软件开机自启可以通过在注册表中添加启动项来实现,具体步骤如下:
1. 打开注册表编辑器(regedit.exe)
2. 找到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run键
3. 在该键下新建字符串值,名称为你的应用程序名,值为你的应用程序的完整路径
如下代码可以实现通过路径控制ICT测试软件的打开和关闭:
```c#
// 打开ICT测试软件
Process.Start("软件路径");
// 关闭ICT测试软件
foreach (Process p in Process.GetProcessesByName("软件名称"))
{
p.Kill();
}
```
读取本地文件夹中的txt文件中的条码可以使用以下代码:
```c#
string filePath = "文件路径";
string[] lines = File.ReadAllLines(filePath);
List<string> barcodes = new List<string>();
foreach (string line in lines)
{
barcodes.Add(line);
}
```
检查数据库中是否有设置的良品和不良品条码的当天测试记录可以使用以下代码:
```c#
string barcode = "条码";
DateTime date = DateTime.Now.Date;
bool exists = false;
string sql = "SELECT * FROM ICT_test WHERE Barcode = @Barcode AND Date = @Date";
using (SqlConnection conn = new SqlConnection("数据库连接字符串"))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddWithValue("@Barcode", barcode);
cmd.Parameters.AddWithValue("@Date", date);
using (SqlDataReader reader = cmd.ExecuteReader())
{
exists = reader.Read();
}
}
}
```
更新数据库中的测试记录可以使用以下代码:
```c#
string barcode = "条码";
DateTime date = DateTime.Now.Date;
string result = "测试结果";
string sql = "INSERT INTO ICT_test (Barcode, Date, Result) VALUES (@Barcode, @Date, @Result)";
using (SqlConnection conn = new SqlConnection("数据库连接字符串"))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddWithValue("@Barcode", barcode);
cmd.Parameters.AddWithValue("@Date", date);
cmd.Parameters.AddWithValue("@Result", result);
cmd.ExecuteNonQuery();
}
}
```
阅读全文