Axurez
V2EX  ›  问与答

程序允许多开与否是怎么控制的?

  •  
  •   Axurez · Nov 10, 2014 · 3063 views
    This topic created in 4288 days ago, the information mentioned may be changed or developed.
    Windows 下,有的程序打开了之后再次打开只会弹出原来打开的那个,有的程序打开多次就有多个窗口。有不少程序还可以控制是哪种模式。这是怎么做到的?
    6 replies    2014-11-10 14:40:06 +08:00
    crab
        1
    crab  
       Nov 10, 2014
    互斥体
    leassy
        2
    leassy  
       Nov 10, 2014
    1.判断进程,这似乎不太可靠
    2.进程间通讯(这要用系统API),有点复杂
    3.TCP或其它各种协议,还是有点复杂
    4.内存数据交互(这个最简单最有效)我就用的这个,一个字:巴适
    em70
        3
    em70  
       Nov 10, 2014
    启动时检查一下,是否有本程序的其他实例,如果有就自动退出. 这样就能保证不能多开.一般默认是允许多开的
    typcn
        4
    typcn  
       Nov 10, 2014
    1L正解,创建互斥体,用户体验最好,就像楼主的描述。当然可以被破解,要想靠谱就用服务端机器码验证。
    akira
        5
    akira  
       Nov 10, 2014
    @typcn 任何方法都是可被破解的,只是难易区别而已。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2494 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 00:49 · PVG 08:49 · LAX 17:49 · JFK 20:49
    ♥ Do have faith in what you're doing.