WIN7一个电脑两个账户里内容共享的方法:
1、打开桌面上的计算机,在地址栏上输入C:\Users,按回车键;
2、此时可以看到本机电脑使用的所有帐户名称,点击某一个帐户文件夹,即可看到里面的所有内容。
一般来说在常用的 *** 作系统中有以下几种方式实现进程间通信
管道法(即把一个程序的输入和另一个程序的输出对接起来,实现方式根据自己使用编程语言的不同各异)
信号法,(利用 *** 作系统自带的信号 *** 作,让一个程序给另一个发信号....但是信号的种类有限,所以很少用
共享数据库,安装数据库软件,两个程序能访问同一个数据库,在数据库里放消息
共享网络端口,(可以理解成一个进程使用一个网络端口,另一个想跟他通信的时候就直接去访问这个端口
这个其实用消息SendMessageEx的话最为简单, 提示个思路A程序可以通过B程序的名称获取到钩子ProcessID,得到句柄,发送消息 send +参数 到B , B重写 DefWndProc消息方法, 捕获send事件 进行处理 ,(这个时间 可以让界面有一系列的反应) . B处理完成后, 按同样的方法把结果发送给A
两段关键代码
//重写消息
protected override void DefWndProc(ref System.Windows.Forms.Message m)
{
switch (m.Msg)
{
case WM_COPYDATA:
COPYDATASTRUCT mystr = new COPYDATASTRUCT()
Type mytype = mystr.GetType()
mystr = (COPYDATASTRUCT)m.GetLParam(mytype)
//mystr:参数
default:
base.DefWndProc(ref m)
break
}
}
//发送消息
private static void Send(IntPtr hwid, string str)
{
byte[] sarr = System.Text.Encoding.Default.GetBytes(str)
int len = sarr.Length
COPYDATASTRUCT cds
cds.dwData = (IntPtr)100
cds.lpData = str
cds.cbData = len + 1
SendMessage(hwid, WM_COPYDATA, 0, ref cds)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)