【发布时间】:2021-04-03 01:32:15
【问题描述】:
Win32 程序有一个入口参数 HINSTANCE 用于 Win32 入口函数 WinMain()。创建自己的窗口时,CreateWindow() API 调用需要这个参数。
我的第一个想法是,这个HINSTANCE应该是一个唯一的标识,以区分不同的窗口属于不同的进程。直到最近,在某些情况下,我使用这个HINSTANCE。哇!如果你打开同一个 Win32 程序 (EXE) 两次,每个进程都有相同的 HINSTANCE 值。
后来发现,是进程中的一些资源标识符(内存地址)。它是进程的虚拟地址,与它在内存中的PE结构有关。
现在,如果我有两个窗口的HWND 句柄,并且我想检查这两个窗口是否来自同一个进程,那么最好的选择是什么?
【问题讨论】: