CreateProcess的时候不是就可以得到进程句柄吗?
不过不是窗口句柄,我也想得到

解决方案 »

  1.   

    1、EnumProcess枚举所有进程
    2、OpenProcess打开进程
    3、EnumProcessModules枚举进程模块
    4、GetModuleFileNameEx  可用来判断是不是你指定的那个进程(如果2可确定,则3、4可省)
    5、EnumWindows枚举窗口句柄
    6、GetWindowThreadProcessId由一个窗口句柄得到进程ID,与前面得到的进程ID比较这个方法比较麻烦,以前我记得用过一个直接由模块名得到窗口句柄的,现在忘了----------------------------------------------------------------------------------------
    程序员论坛白庄欢迎诸位程序员的光临指导:
    http://www.baizhuang.net/
      

  2.   

    有那位大虾用过EnumProcess,EnumWindows指点一二:)
      

  3.   

    OH,MY GOD此函数只能用在NT下,
    可是我需要在98、NT、2000下运行
      

  4.   

    要在98下可以用Process32First、Process32Next相关的函数,不过这组函数我没用过,你得自己去看了
      

  5.   

    既然有标题就是一个窗口,CWnd *pwndFirst=GetWindow(GW_HWNDFIRST);
    while(pwndFirst)
    {
      if(该窗口标题是否为要找的)
       {  激活此进程
    如果需要进程消息的调用GetWindowThreadProcessId
    }
    }
      pwndFirst=pwndFirst->GetWindow(GW_HWNDNEXT);
    }
      

  6.   

    zwert(小张),那个进程不是我写的
      

  7.   

    devouer(玩笑一生):
    我主要的目的就是在新建进程后,可以通过一个变量,同桌面的窗口的窗口句柄或其他什么东东,反正可以比较,相同,则激活