hInstance 查 MSDMN 解释是返回一个应用程序实例的句柄,不知道实例和窗口句柄有什么区别?有个问题:“程序A”启动后将它的 hInstance 属性写到文件中去,“程序B”启动后读取该属性,“程序B”读取后能不能判断这个“程序A”的 hInstance 是否有效,“程序A”是否还在运行? 我不要那种“通过窗口标题查找窗口”例子,只想通过检查 hInstance 来判断,能实现吗?能,请大虾给个代码,谢谢!

解决方案 »

  1.   

    hInstance实例句柄其实就是exe文件映射到内存后的开始地址,而窗体句柄是系统所维护的一个资源表中的索引号。
    每次应用程序启动系统都会分配给他私人的4G内存空间,也就是说应用程序的每个实例一般都是被映射到了同一个地址,这也就意味着应用程序的每个实例的hInstance都是一样的。楼主要写到文件中去的,恐怕不应该是hInstance,用进程ID更加合适
      

  2.   

    If App.PrevInstance Then
               End
            End If
      

  3.   

    supergreenbean 大虾,怎么检查获取和检查进程ID是否有效啊,再帮帮忙啦.....
      

  4.   

    你用openprocess一下,看看返回值就基本ok了吧