使用windows消息服务可以做到这一点。
解决方案 »
- Can't find PInvoke DLL 'hhpImgrSdk.dll'.
- C#子窗体的菜单栏运行时和父窗体的菜单栏合并了,求解决
- c#链接数据库问题
- 如何把windows窗体状态栏的进度条移动到中间?
- 如何控制winform程序只能打开一个,再双击的时候,已经开的程序显示在最上面
- ==如何让用户在不关闭当前页面的情况下,不能操作其他页面==
- 系统运行速度慢:公司刚完成一个系统的开发,运行了一个多月了感觉速度很慢很慢,求原因!
- 谁人有打卡的声音?就是DI的一声那种?
- 如何提取DataGrid中的控件
- 在c#中怎样使用DATAGRID这个控件浏览SQL SERVER中的数据。
- 请教各位大侠:c#的数据库应用程序中怎么获取数据库所有表的表名?
- 请微软专家和高手看过来, 怎样得到WinForm DataGrid某一行的高度?
例如:程序A要发给程序B一个消息。
假定程序B的名称叫Form1;
在程序A中加入:
using System.Runtime.InteropServices;
然后加入下面代码
// Import the SendMessage method of the User32 DLL.
[DllImport("user32.dll", CharSet=CharSet.Auto)]
public static extern IntPtr SendMessage(IntPtr hWnd, int msg, int wParam, int lParam);
[DllImport("user32.dll")]
public static extern IntPtr FindWindow(string lpClassName,string lpWindowName); private void button1_Click(object sender, System.EventArgs e)
{ IntPtr hWnd= FindWindow(null,"Form1");
SendMessage(hWnd,123,0,0); }、、、、
在程序B中(名字叫“Form1”);
重载WndProc方法,加入以下代码:
protected override void WndProc( ref Message m )
{
switch(m.Msg)
{
case 123:
MessageBox.Show("我收到了123!");
break;
}
base.WndProc(ref m );
}运行即可。
volatile 关键字指示字段可由操作系统、硬件或并发执行的线程在程序中进行修改。系统总是在 volatile 对象被请求的那一刻读取其当前值,即使上一条指令从同一对象请求值。而且,该对象的值在赋值时立即写入。
算数,可我需要的是用消息发送字符串呀!