window之间的通信

JS中两种情况下window之间的通信
只描述获得如何在一个window中获得另一个window的对象,具体的如何通信的细节还没学……..这两种情况如下:

  1. 1 window窗口之间互相嵌套
  2. 2 在一个window窗口中打开另一个window窗口

1的例子如:
html的代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<frameset  rows="30% ,70%">
        <frame src = "x.html"/>
        <frameset cols="30% ,70%" >
                <frame src = "y.html"/>
                <frame src = "z.html"/>
        </frameset>
</frameset>
</html>

框架的效果:
这里写图片描述
这时候一个大的窗口包含了三个小窗口,
如果要在最外层的窗口中想要获得其中的y的window对象则通过(w表示最外层窗口

w.frames[1]

如果x想获得y的window对象则

x.parent.frames[1]

2的例子:
在窗口a中打开窗口b
在中想要得到b的window对象很简单,当你在打开一个窗口时调用open()方法时会返回你打开窗口的对象,
那b窗口想得到a的window对象则

window.opener
### Windows 操作系统中进程间通信的消息队列机制 在Windows操作系统中,消息队列作为一种有效的进程间通信(IPC)手段被广泛应用。不同于Linux下的System V消息队列,Windows平台上的消息队列主要依赖于特定API以及组件来完成。 #### 基础概念 消息队列为应用程序提供了一种异步通讯的方式,在此模式下,发送者将数据放入一个FIFO(先进先出)结构的消息列表里;接收方则可以从该列表读取消息并处理之。这种设计允许生产者和消费者之间解耦合,即使双方不在同一时间运行也能正常交换信息[^1]。 #### 实现方式 对于Windows环境而言,可以利用如下几种技术实现基于消息队列的IPC: - **MSMQ (Microsoft Message Queue)** MSMQ是一个高性能的服务端产品,它提供了可靠的消息传输服务。开发者可以通过.NET Framework或其他编程接口轻松集成到自己的应用当中。要使用MSMQ进行跨进程的数据共享,需遵循以下流程: - 编写客户端代码连接至目标机器上的某个具体路径名所代表的消息队列; - 发送/接受消息对象实例化后即可操作相应的方法来进行实际的信息交互。 ```csharp // C# Example of using MSMQ to send a message. using System; using System.Messaging; class Program { static void Main() { string queuePath = @".\private$\myQueue"; if (!MessageQueue.Exists(queuePath)) { MessageQueue.Create(queuePath); } var myQueue = new MessageQueue(queuePath); try{ myQueue.Send("Hello World!"); } finally{ myQueue.Close(); } } } ``` - **WM_COPYDATA** 另一种较为简单的方案是采用`SendMessage()`函数配合自定义窗口消息如 `WM_COPYDATA` 来模拟轻量级的消息队列行为。这种方式适用于本地同机的应用场景,并且不需要额外安装任何中间件支持。 ```cpp // C++ Example of sending data via WM_COPYDATA structure. COPYDATASTRUCT cds; cds.dwData = 0L ; // User-defined value associated with the data being passed. cds.cbData = strlen(szString)+1 ; cds.lpData = szString ; ::SendMessage(hwndOtherApp, WM_COPYDATA , NULL ,(LPARAM)(LPVOID)&cds ); ``` 以上两种方法各有优劣,前者适合构建分布式系统的高可用性和持久化的解决方案,后者更适合快速开发小型项目内的简单IPC需求[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值