Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何响应广播的WM_COPYDATA_Javascript_Winapi_Jsctypes - Fatal编程技术网

Javascript 如何响应广播的WM_COPYDATA

Javascript 如何响应广播的WM_COPYDATA,javascript,winapi,jsctypes,Javascript,Winapi,Jsctypes,我正在尝试发送一个简单的字符串消息 在mac中,我通过在第二个进程中设置通知观察者来实现这一点,然后从第一个进程发送通知字符串消息 我正试图在Windows中实现这一点 这是我广播信息的方式: var data = WCHAR.array()('message from my proc1 yahoo'); var dataSize = msg.length * msg.constructor.size; var cds = COPYDATASTR

我正在尝试发送一个简单的字符串消息

在mac中,我通过在第二个进程中设置通知观察者来实现这一点,然后从第一个进程发送通知字符串消息

我正试图在Windows中实现这一点

这是我广播信息的方式:

        var data = WCHAR.array()('message from my proc1 yahoo');
        var dataSize = msg.length * msg.constructor.size;

        var cds = COPYDATASTRUCT(null, dataSize, data.address());
        var rezSend = API('BroadcastSystemMessage',
            BSF_FORCEIFHUNG,
            BSM_APPLICATIONS,
            WM_COPYDATA,
            null,
            cds.address()
        );

我试图在我的第二个过程中设置一个观察者,当它看到这条消息时可以做出反应。如何设置观察者?

@reuben谢谢,我可以通过“模块”将ctypes注入到流程中。模块是软件的附加模块。所以我可以自由地做任何事情,但我不能编辑核心代码。@reuben我试图向所有消息广播一条字符串消息(比如在mac中,我们有objectiveC
postNotification:notificationName:object:userInfo:deliverImmediatey
),然后我想用我的“模块”设置观察者。在mac中,我们可以使用
addObserver:selector:name:object
设置观察者。谢谢您的关注。您的意思是说“所有消息都有字符串消息”吗?你是说所有的过程吗?您是否将模块注入到不运行代码的进程中?@reuben感谢您的更正,向所有进程发送yes字符串消息。不,我的模块只是在用户选择的进程中。我没有注入,但是这个软件允许添加这些模块。这基本上就像这个软件中的脚本。向系统中的所有窗口广播
WM_COPYDATA
是一个非常糟糕的主意,因为几乎肯定还有其他打开的窗口使用该消息,并试图将您的数据格式解释为它们自己的格式。