C# 给指定应用程序发送Windows Message
2013-01-18 12:30
218 查看
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# 给指定应用程序发送消息
- 关于C# windows发送消息
- C#windows应用程序打包(VS2010+SQLServer2008)
- 【C#】无损转换Image为Icon 【C#】组件发布:MessageTip,轻快型消息提示窗 【C#】给无窗口的进程发送消息 【手记】WebBrowser响应页面中的blank开新窗口及window.close关闭本窗体 【手记】调用Process.EnterDebugMode引发异常:并非所有引用的特权或组都分配给呼叫方 【C#】DataRowState演变备忘
- 《C#高级编程(第8版)》之用C# 2012和.NET 4.5编写Windows 8样式应用程序技巧
- C#完美实现多语言版本Windows应用程序
- C# 怎样截取系统向应用程序发送的消息
- c#开发windows应用程序几个小技巧
- C# windows应用程序MD5方法
- 深入浅出C#2008从入门到提高Step By Step(五)Windows应用程序常用控件类(2)-Button
- C# 重写WndProc 拦截 发送 系统消息 + windows消息常量值(2)
- 如何从C# 桌面应用程序调用Windows 8的WinRT API- WinRT 图表
- C#调用Windows应用程序
- 70-316 使用Microsoft Visual C# .NET and Microsoft Visual Studio .NET 开发及实现基于Windows的应用程序 考点整理
- 使用C#在应用程序间发送消息
- C#编写windows桌面应用程序将控件放入数组以便在循环中使用
- 用C#开发第一个WINDOWS应用程序
- C#编写最小化到系统托盘的Windows应用程序
- 异常信息:CLR无法从COM 上下文0x645e18 转换为COM上下文0x645f88,这种状态已持续60秒。拥有目标上下文/单元的线程很有可能执行的是非泵式等待或者在不发送 Windows 消息的情况下处理一个运行时间非常长的操作.这种情况通常会影响到性能,甚至可能导致应用程序不响应或者使用的内存随时间不断累积
- Windows应用程序C#创建MDI父窗体和子窗体