今天无聊想了下PHP能想C++那样做点低层的东西就牛B了 虽然这要求十分苛刻 比较方向不是一样 不过PHP要能在这方面加强点也不错啊  突发其想 PHP要获得当前用户进程怎么办? 立马想到的是exec执行CMd命令 这不是我想要的效果 我想通过C++怎样来实现 结果乱搞被搞出来了分享下 呵呵
VC建立W32控制台程序 CODE如下:
#include<iostream>
#include "windows.h"
#include "tlhelp32.h" 
#include "stdio.h"
using namespace std;
int main(int argc, char* argv[]) 
{
    PROCESSENTRY32 pe32;
    pe32.dwSize = sizeof(pe32);
    HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
    if(hProcessSnap==INVALID_HANDLE_VALUE)
    {
        cout<<"获取进程失败!\n";
        return -1;
    }
    BOOL bMore = ::Process32First(hProcessSnap,&pe32);
    while(bMore)
    {
        printf("进程名称: %s\n",pe32.szExeFile);
        printf("进程ID %u\n\n<br>",pe32.th32ProcessID);
        bMore = ::Process32Next(hProcessSnap,&pe32);
    }
    ::CloseHandle(hProcessSnap);
    return 0;
}编译生成EXE放在PHP 目录 PHP代码如下 :
<?php
system("D:\\APMServ5.2.6\\www\\wotu\\test.exe 20", $info);
print_r($info);
?>
 来张贴图吧

解决方案 »

  1.   

    system会受安全限制。只能自己机器上玩玩。
      

  2.   

    #include<iostream>
    #include "windows.h"
    #include "tlhelp32.h"  
    #include "stdio.h"
    using namespace std;
    int main(int argc, char* argv[])  
    {
      PROCESSENTRY32 pe32;
      pe32.dwSize = sizeof(pe32);
      HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
      if(hProcessSnap==INVALID_HANDLE_VALUE)
      {
      cout<<"获取进程失败!\n";
      return -1;
      }
      BOOL bMore = ::Process32First(hProcessSnap,&pe32);
      while(bMore)
      {
      printf("进程名称: %s\n",pe32.szExeFile);
      printf("进程ID %u\n\n<br>",pe32.th32ProcessID);
      bMore = ::Process32Next(hProcessSnap,&pe32);
      }
    --------------这段代码是c++?
      

  3.   

    system在一般的服务器中被禁止了
      

  4.   

    告诉你一个php不能做到:我曾经需要一个服务进程,考虑用PHP写,但是不行,PHP最长生命周期是依赖apache(大多数的情况)的超时设置;不能完成真正的服务;PHP做长时间任务时也要小心,以前做视频格式转换,PHP调用其他程序做转换。当达到超时时间,apache关闭PHP进程时,视频转换程序也被关闭了
      

  5.   

    PHP可以写本机执行程序的。不过执行方式不是通过服务器,而是在命令行(win)输入:php.exe ***.php
    要在系统环境中设置php.exe的路径。呵呵。写网络程序客户端为了简单,曾经用PHP写过一个服务器端,打开一端口进行监听。
      

  6.   

    php可以调用系统的命令,关键要权限足够。
      

  7.   


    php只是一到桥,也没必要太依赖apache,至于超时,可以通过几它方法解决,
    用php触发程序,断开连接,程序自己成完后,再通知或调用php处理结果。
      

  8.   

    php本来就是这样用,环境是本地,如果是互联网,可以通过服务器去调用php.exe,环境不同而已
      

  9.   

    能不能有定时重启apache的功能呢???  我太需要它了....
      

  10.   

    终于在首页推荐能看到PHP的贴了,感动啊
    楼主好样的,加油,学习了
      

  11.   


    难道你认为那是B++? OR G++
      

  12.   

    学习了,CSS来顶一下
      

  13.   

    cout<<"获取进程失败!\n";
      

  14.   

    php确实很强大。看来我只是了解表面 
      

  15.   


    用系统的定时任务 crontab
      

  16.   

    汗!这也叫“PHP还可以这样用啊”
      

  17.   

    以前公司通过web备份数据库,用system执行Mysql DUMP,再用zip打包,就是这样搞.
      

  18.   

    我在我的网站虚拟空间试了一下,竟然没有受到权限限制,可以运行自己写的c++程序,甚至可以运行gcc编译程序
      

  19.   

    利用这个可以做一个在线IDE了!顶楼主!