问题解决
我有两个应用程序:第一个和第二个。 First 是我的, Second 是由外包开发的。
1)在某个时间我需要从 First 应用程序向 Second 发送消息,使 Second 一个可见,在最小化之后最大化。
2)为了执行(1)步骤,第二个应用程序应将其句柄存储在共享内存中的某个位置,可以通过名称或其可能的任何内容访问(如互斥锁)做)。
问题
那么,在操作内存中存储数据(句柄)的更好选择是什么?
答案 0 :(得分:2)
如果要将此信息存储在共享位置,则通常使用共享内存。在Windows术语中,这是一个文件映射对象。通过致电CreateFileMapping
创建一个。这些是内核对象,因此可以在内核命名空间中命名。
使用文件映射并不是一件很有趣的事情,因此您可能希望找到一个更简单的解决方案。为应用程序的主窗体提供唯一的类名。例如,您可以将表单的类命名为TMyCompanyNameMyProductNameMainForm
。然后调用FindWindow
传递该类名以查找现有的应用程序窗口。