I let AppA's Button1 to invoke the Button1_click event in AppB
In AppB I wrote:
private string msgstr = "interprocess communication";
private uint msg;
[DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]
static extern uint RegisterWindowMessage(string lpString);
private void Form1_Load(object sender, System.EventArgs e)
{
msg = RegisterWindowMessage(msgstr);
if (msg == 0)
{
MessageBox.Show(Marshal.GetLastWin32Error().ToString());
}
}
private void button1_Click(object sender, System.EventArgs e)
{
MessageBox.Show("AppB's button is clicked");
}
protected override void WndProc(ref Message m)
{
if (m.Msg == msg)
{
//MessageBox.Show(msgstr + " from wndproc");
button1.PerformClick();
}
base.WndProc(ref m);
}
And in AppA I wrote:
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern bool PostMessage(int hhwnd, uint msg, IntPtr wparam,
IntPtr lparam);
[DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]
static extern uint RegisterWindowMessage(string lpString);
private string msgstr = "interprocess communication";
private uint msg;
private const int HWND_BROADCAST = 0xffff;
private void button1_Click(object sender, System.EventArgs e)
{
msg = RegisterWindowMessage(msgstr);
if (msg == 0)
{
MessageBox.Show(Marshal.GetLastWin32Error().ToString());
}
PostMessage(HWND_BROADCAST, msg, IntPtr.Zero, IntPtr.Zero);
}
PS. Both should using System.Runtime.InteropServices;if PostMessage doesn't work you can try SendMessage
分享到:
相关推荐
提供了解决方案,使客户端用户使用更流畅。(管理员功能) 4.(2011-03-14)纠正了数据创建时错误,适应SQLServer不同 版本的数据库;纠正了在SQLServer下不同版本数据库备份时路径 错误问题。 5.(2011-03-...
导入API 代码如下:[DllImport(“user32.dll”)]public static extern IntPtr LoadCursorFromFile(string fileName);[DllImport(“user32.dll”)]public static extern IntPtr SetCursor(IntPtr cursorHandle...
0. 纯.NET代码编写,不含Win32API引用 1. 节点支持各种拖拽模式 2. 可以通过拖拽来缩放节点 3. 可以直接在线编辑(数据源同步更新) 4. 支持百分比指标的显示/隐藏 5. 根据一行中的节点数自动调整节点高度 6. 可高亮...
在ComponentOne 2012V3中,开发人员的交互界面和提示信息都是中文,包括菜单和对话框等交互界面,在设计时控件各对象的方法和属性的说明,以及在Visual Studio 环境中的 API 智能提示等。ComponentOne 2012V3还针对...
使用Win32和其他库.txt 使用自己画的光标.txt 数据绑定.txt 水晶报表使用winform.txt 水印.txt 特殊文件夹路径.txt 同一解决方案中一个项目的xml注释在另一个项目中不能智能提示显示这些注释的解决方法.txt ...
使用Win32和其他库.txt 使用自己画的光标.txt 数据绑定.txt 水晶报表使用winform.txt 水印.txt 特殊文件夹路径.txt 同一解决方案中一个项目的xml注释在另一个项目中不能智能提示显示这些注释的解决方法.txt ...
在ASP.NET中使用WINDOWS验证方式连接SQL SERVER数据库 改进ADO.Net数据库访问方式 ASP.NET 2.0 绑定高级技巧 简单实用的DataSet更新数据库的类+总结 [ADO.NET]由数据库触发器引发的问题 为ASP.NET封装的SQL数据库...
1.压缩、混淆、美化、格式化都支持,断网条件下可以使用,软件不是使用的在线API. 1.支持批量操作,可以同时处理JS与CSS文件,可以多文件导入,多文件夹搜寻,当然直接复制代码进行操作也可。 2.可以选择对原文件...
5.21.3 在日期和时间选择器控件中使用自定义格式字符串 254 5.21.4 在日期和时间选择器控件中使用回调字段 254 5.21.5 处理日期和时间选择器控件中的通知消息 256 5.22 Visual C++ 2010 Month Canlendar控件简介与...