我用向导建立了一个进程外COM exe服务,编译好把exe用 -Service参数运行注册成一个NT服务程序,并把这个服务启动起来,
然后在另一个测试程序里创建接口,但是CoCreateInstance一直死卡在里面,然后弹出一个框提示另一个服务器程序已经启动,这是什么原因呢?不把这个Exe COM服务设置成NT服务程序就没问题,创建接口时COM的EXE自动就起来,我想问的是怎么把这个COM exe设置成一个NT服务并且外面也可以调用它的接口?

解决方案 »

  1.   

    找到原因了,我的开发环境是VS2008比较老的版本,是2008的一个Bug,打上SP1补丁就可以了,或者用更新的VS IDE比如VS2010即可,这里也有一个人遇到跟我同样问题,详见:
    http://forums.codeguru.com/showthread.php?470483-AtlService-in-VS2008
      

  2.   

    是不会卡住了,但是好像创建COM接口都返回拒绝访问,不知道还需要怎么做安全设置?
      

  3.   

    确实没人懂,这里的人骗骗分还行你懂direct3d的话,可以考虑一下
      

  4.   

    搞定,求人不如求自己,原来是安全属性没弄好,找了好几篇文章说的都不清楚,只有这篇点中要害:
    http://blog.csdn.net/woshisadshiwo/article/details/6853564
      

  5.   

    碰到安全属性问题的时候,Google搜索一下,一般能得到一些提示
      

  6.   


    第一个问题是vs2008的Bug,不知道其他版本会不会有这个bug,我今天打了sp1补丁也不行,最后我用英文在google上搜到国外一个家伙跟我遇到的一摸一样的问题,度娘都搜不到。