目的:
开机自动运行一个我的进程,但是不需要启动控制台界面(那个黑色的界面)结果:
可以自动启动进程(通过写注册表),但控制台界面也跟着出来了。

解决方案 »

  1.   

    别改注册表了最简单的方法,  把你的程序改为服务参见:http://support.microsoft.com/kb/137890Windows NT Resource Kit中有工具可以直接把程序注册成服务
      

  2.   

    能不能通过类似GetProcess的API将类似startinformation中的window设置成false
      

  3.   

    控制台可以隐藏
    STARTUPINFO  si;  
    ZeroMemory(&si,  sizeof(si));  
    si.cb  =  sizeof  STARTUPINFO;  
     
    PROCESS_INFORMATION  pi;  
    BOOL  res  =  CreateProcess(NULL,  
    "c:\\winnt\\system32\\cmd.exe",  //  执行你的  dos  命令  
    NULL,  
    NULL,  
    NULL,  
    NORMAL_PRIORITY_CLASS    ¦  CREATE_NO_WINDOW,  
    NULL,  
    NULL,  
    &si,  
    &pi);  
     
    if  (TRUE  ==  res)  
    {  
    CloseHandle(pi.hProcess);  
    CloseHandle(pi.hThread);  
    }  
     
      

  4.   


    但是如果用这中方法,我还需要另外创建另外一个进程来CreateProcess我的的这个进程啊!
      

  5.   

    能不能在创建一个进程,在该进程里面成功CreateProcess(我的进程)后就退出,仅为我的进程是一个死循环过程,所以启动时候console出来了!