using System;
using System.Diagnostics;
using System.IO;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace 发消息
{
public partial class FrmMain : Form
{
public FrmMain()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
try
{
var procecess = Process.GetProcessesByName("SSDS");
if (procecess.Length <= 0)
{
procecess = Process.GetProcessesByName("SSDS.vshost");
}
if (procecess.Length <= 0)
{
MessageBox.Show("请打开程序SSDS");
return;
}
var msgId = Convert.ToInt32(textBox1.Text);
var ssdProcess = procecess[0];
//发消息
PostMessage(ssdProcess.MainWindowHandle, (uint)msgId, IntPtr.Zero, IntPtr.Zero);
//等待退出
ssdProcess.WaitForExit();
//读数据
MessageBox.Show(File.ReadAllText("data.txt"));
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
[DllImport("User32.dll")]
static extern IntPtr PostMessage(IntPtr hWnd, UInt32 Msg, IntPtr wParam, IntPtr lParam);
private void FrmMain_Load(object sender, EventArgs e)
{
}
}
}
本文介绍了如何使用C#编程语言发送消息到名为SSDS的程序,并从文件中读取数据。包括获取进程、发送消息、等待程序退出及读取数据的完整流程。
247

被折叠的 条评论
为什么被折叠?



