使用Visual Studio创建一个窗体应用,作用是读取笔记本的温度与风扇转速,并且可以调节风扇转速
时间: 2024-03-20 13:43:10 浏览: 160
Visual Studio创建Windows窗体登录界面代码
要实现读取笔记本温度和风扇转速,并且可以调节风扇转速需要使用 WMI (Windows Management Instrumentation) 技术和 WinIO 库。下面是使用 Visual Studio 创建窗体应用程序的步骤:
1. 打开 Visual Studio,选择“创建新项目”。
2. 在“新建项目”对话框中选择“Windows桌面”类别,然后选择“Windows Forms应用程序”模板。
3. 输入项目名称并选择保存位置,然后单击“创建”按钮。
4. 在“设计器”中,从“工具箱”中拖拽一个“文本框”控件、一个“滑动条”控件和两个“按钮”控件到窗体中。
5. 在“设计器”中,双击“窗体”控件,在“事件”中添加以下代码:
```csharp
[DllImport("WinIo32.dll")]
private static extern bool InitializeWinIo();
[DllImport("WinIo32.dll")]
private static extern bool GetPortVal(IntPtr port, out short val, byte bSize);
[DllImport("WinIo32.dll")]
private static extern bool SetPortVal(uint portAddr, IntPtr portVal, byte size);
[DllImport("WinIo32.dll")]
private static extern void ShutdownWinIo();
private void Form1_Load(object sender, EventArgs e)
{
if (!InitializeWinIo())
{
MessageBox.Show("WinIo初始化失败!");
Application.Exit();
}
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
ShutdownWinIo();
}
```
6. 在“事件”中添加以下代码:
```csharp
private void button1_Click(object sender, EventArgs e)
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\WMI", "SELECT * FROM MSAcpi_ThermalZoneTemperature");
foreach (ManagementObject obj in searcher.Get())
{
double temp = Convert.ToDouble(obj["CurrentTemperature"]) / 10 - 273.15;
textBox1.Text = temp.ToString("0.0") + "℃";
}
}
private void button2_Click(object sender, EventArgs e)
{
short fanSpeed = 0;
GetPortVal((IntPtr)0x290, out fanSpeed, 1);
textBox2.Text = fanSpeed.ToString();
}
private void trackBar1_Scroll(object sender, EventArgs e)
{
uint portAddr = 0x290;
IntPtr portVal = (IntPtr)trackBar1.Value;
byte size = 1;
SetPortVal(portAddr, portVal, size);
}
```
7. 在“解决方案资源管理器”中打开“引用”节点,右键单击“添加引用”。
8. 在“添加引用”对话框中,选择“程序集”选项卡,然后在搜索框中输入“System.Management”。
9. 选择“System.Management”,然后单击“确定”按钮。
10. 在“解决方案资源管理器”中打开“属性”节点,选择“生成”页签,将“目标平台”设置为“x86”。
现在,你可以运行窗体应用程序并单击“读取温度”按钮和“读取风扇转速”按钮来读取笔记本的温度和风扇转速。你也可以使用“滑动条”来调节风扇转速。需要注意的是,在使用 WinIo 库进行端口访问操作时需要以管理员权限运行应用程序。
阅读全文