我先知道进程名:sqlmangr.exe,如何能知道它的进程ID呢?不用遍历整个系统的进程来比较进程名来实现,这样占用系统资源比较大
有没有一个API函数来实现呢?或通过其它途径

解决方案 »

  1.   

    遍历进程占用资源大?呵呵,能跑WINNT就不会少了这点点资源的.
    直接取得是没办法
      

  2.   

    我试用了遍历所有进程,占用CPU超过10%了,系统里还有其它程序呢,关键是不想影响其它程序
      

  3.   

    应该只有遍历实现
    不过.net类库有个GetProcessesByName的方法
      

  4.   

    .net里我看过了,不过在delphi7里我没找到这个方法
      

  5.   

    我试用了遍历所有进程,占用CPU超过10%了
    -------------------------------------
    那是你代码由问题,你就是循环个1*1,也要占110%,要注意转让系统控制权,真别扭,大家都这么叫,其实就是在循环里来个Application.ProcessMessages;包您满意。