主要是希望EXE不被其它程序非法调用,所以希望知道 谁调用我的,这样就可以进行简单的自我保护了。用命令行的办法我也知道, 但我不想用命令行!!
还有一个稍难度的问题就是: 被调用的时候, 如果非法, 根本就不创建进程。 但我用过命令行盘点, 在Form_load里头进行判断参数, 非法就自动退出, 但还是感觉到 在任务管理器里头会闪一下。能不闪现出来吗

解决方案 »

  1.   

    要想判断就必须要启动程序,只要启动就肯定会在任务管理器闪下的。无法避免。得到父进程的应该有相关api函数的,以前在哪里看到过的。
      

  2.   


    vbgood和看雪论坛里有我那天才翻到了的。
    不过检测父进程这个办法视乎很死板,不能躲掉的。自校验藏好点都比这个办法好。
      

  3.   

    没什么好办法么? 我觉得进程在被系统调度, 然后显示到任务管理器之前 一定被系统在内存什么地方进行过什么动作, 如果能在这个"动作~ 在任务管理器里头显示" 之间这个转化能被我  拦截到, 那不就可以 实现 前置判断了么!!!, 不知道有没有这个可能就是了,没找到相关资料.....可能涉及很低层次的window编程了,, 不知道WMI里头有没有这些...
      

  4.   

    不知道sub main那里是不是会比form_laod好点,毕竟sub main要不form_laod早,窗体还没有创建
      

  5.   

    任务管理器里闪就闪吧,这是正常现象。如果非要在任务管理器隐藏,办法也不是没有的,这是感觉有点不靠谱,参考:
    http://topic.csdn.net/u/20091031/09/7b25a707-5007-48be-ac38-be18692ad6fb.html