hur.cn - 华软网

 热门搜索

带参数启动进程

  作者:未知    来源:网络    更新时间:2011/7/15
我刚学vc++,昨天别人给了我个Proc.exe文件,让我帮着测试一下。我自己做了个界面,想用菜单启动进程。
好像要用带参数的方式启动子进程。子进程都在这个Proc.exe里面。
他给的挂接方式的参数是这样的。
模块1:Proc.exe /M cra
模块2:Proc.exe /M protn
模块3:Proc.exe /M BHxyz
模块4:Proc.exe /M CalVol
模块5:Proc.exe /M HWAS3
模块6:Proc.exe /M HWAS4
我应该怎么用启动这些模块;请高手指点。
---华软 网友回答---
bat的话 路径写绝对路径

Proc.exe /M cra 
Proc.exe /M protn
Proc.exe /M BHxyz
Proc.exe /M CalVol
Proc.exe /M HWAS3
Proc.exe /M HWAS4


C++">
   if( !CreateProcess( NULL,   // No module name (use command line)
        argv[1],        // Command line
        NULL,           // Process handle not inheritable
        NULL,           // Thread handle not inheritable
        FALSE,          // Set handle inheritance to FALSE
        0,              // No creation flags
        NULL,           // Use parent's environment block
        NULL,           // Use parent's starting directory 
        &si,            // Pointer to STARTUPINFO structure
        &pi )           // Pointer to PROCESS_INFORMATION structure
    ) 
    {
        printf( "CreateProcess failed (%d)\n", GetLastError() );
        return;
    }

system("Proc.exe /M cra ");

---华软网友回复---
C++">TCHAR szApp[MAX_PATH] = {_T("F:\\Proc.exe /M cra")};
STARTUP_INFO si = {sizeof(si)};
PROCESS_INFORMATION pi = {0};
if(CreateProcess(..,szApp,...,&si, &pi)
{
 CloseHandle(pi.hThread);
 CloseHandle(pi.hProcess);
}

---华软网友回复---
引用 2 楼 visualeleven 的回复:
C/C++ code

TCHAR szApp[MAX_PATH] = {_T("F:\\Proc.exe /M cra")};
STARTUP_INFO si = {sizeof(si)};
PROCESS_INFORMATION pi = {0};
if(CreateProcess(..,szApp,...,&si, &pi)
{
 CloseHandle(pi.……

这种启动方式我用了,启动后界面都是一摸一样的。似乎不行。有相关的文献吗,给个链接,我看看

---华软网友回复---
引用 1 楼 c_losed 的回复:
bat的话 路径写绝对路径

Perl code


Proc.exe /M cra 
Proc.exe /M protn
Proc.exe /M BHxyz
Proc.exe /M CalVol
Proc.exe /M HWAS3
Proc.exe /M HWAS4




C/C++ code


   if( !CreateProcess( NULL,  ……

我也是这么做的,怎么感觉运行起来以后都进入同一个界面了。难道说这几个模块的界面一摸一样吗?
---华软网友回复---
自己再DOS下用命令行看看 带不同的参数,那个进程有什么区别
---华软网友回复---
启动同一个控制台下程序下的不同模块是用CeateProcess吗?
---华软网友回复---
CeateProcess既可以创建一个新的进程,也可以创建一个线程。
依赖于你的参数。

用CeateProcess是没错的      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。