c#窗体应用程序实现软件开机自启,并可以通过路径控制ICT测试软件的打开和关闭。 良品和不良品条码可以在本地文件夹的txt文件中获取 。当软件开启,定时器就在数据库扫描是否有设置的良品和不良品条码的当天ICT测试记录,如果存在,lable状态栏变绿并提示“以点检,请进行测试”就可以通过c#软件开启按钮打开ICT测试软件,进行别的条码的ICT测试。如果没有,点击开启ICT测试按钮时,label状态栏变红,并提示“请进行测试前点检”全部代码实现
时间: 2023-12-01 16:02:06 浏览: 117
C#Winform实现打开第三方应用程序实例
以下是实现软件开机自启的代码:
```
using Microsoft.Win32;
// 在窗体的Load事件中添加如下代码
private void Form1_Load(object sender, EventArgs e)
{
// 注册表项路径
string path = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";
// 获取注册表项
RegistryKey rk = Registry.LocalMachine.OpenSubKey(path, true);
// 如果软件没有设置开机自启,添加开机自启项
if (rk.GetValue("MyApp") == null)
{
rk.SetValue("MyApp", Application.ExecutablePath);
}
}
```
以下是通过路径控制ICT测试软件的打开和关闭的代码:
```
// 在点击按钮的事件中添加如下代码
// 打开软件
Process.Start("ICT测试软件路径");
// 关闭软件
foreach (var process in Process.GetProcessesByName("ICT测试软件进程名"))
{
process.Kill();
}
```
以下是定时器扫描数据库的代码:
```
using System.Data.SqlClient;
// 在定时器的Tick事件中添加如下代码
private void timer1_Tick(object sender, EventArgs e)
{
// 数据库连接字符串
string connStr = "Data Source=.;Initial Catalog=测试数据库;Integrated Security=True";
// 查询语句
string sql = "SELECT COUNT(*) FROM ICT测试记录表 WHERE 条码 = '良品或不良品条码' AND 测试时间 > CONVERT(DATE, GETDATE())";
// 创建数据库连接
SqlConnection conn = new SqlConnection(connStr);
// 打开数据库连接
conn.Open();
// 创建SqlCommand对象
SqlCommand cmd = new SqlCommand(sql, conn);
// 获取查询结果
int count = (int)cmd.ExecuteScalar();
// 关闭数据库连接
conn.Close();
// 如果存在当天的ICT测试记录,更新标签状态
if (count > 0)
{
label1.Text = "以点检,请进行测试";
label1.ForeColor = Color.Green;
}
else
{
label1.Text = "请进行测试前点检";
label1.ForeColor = Color.Red;
}
}
```
以下是点击软件开启按钮打开ICT测试软件的代码:
```
private void button1_Click(object sender, EventArgs e)
{
// 如果存在当天的ICT测试记录,打开ICT测试软件
if (label1.ForeColor == Color.Green)
{
Process.Start("ICT测试软件路径");
}
else
{
MessageBox.Show("请进行测试前点检");
}
}
```
完整代码:
阅读全文