处理命令行的方法

处理命令行的方法

命令行处理

两个进程之间进行事务出来时,可以通过命令行来处理。在这里介绍命令行处理知识。
在VC中可以通过GetCommandLine()函数得到命令行参数,然后根据得到字符串参数进行解析来处理。
int _spawnl( int mode, const char *cmdname, const char *arg0, const char *arg1, ... const char *argn, NULL );可以通过spawn这个函数来传入命令参数,在其他进程中可以通过GetCommandLine()函数得到命令行参数进行解析来处理事务。

实例:
// 命令行处理

进程1:

_spawnl(_P_WAIT,"AnlaysCard.exe","1e",NULL);
或者
_spawnl(_P_WAIT,"AnlaysCard.exe","2e",NULL);

进程2:

int i = 0,iSave = -1;
CString CommandLine = GetCommandLine();
for(i=0;i<CommandLine.GetLength();i++)
{
if(CommandLine[i]=='e')
{
iSave = i-1;
break;
}
}

if(iSave!=-1)
{
if('1'==CommandLine[iSave])
{
SendMessage(WM_COMMAND, MAKELONG(IDC_PUTBRANCH, BN_CLICKED), (LPARAM)(GetDlgItem(IDC_PUTBRANCH)->GetSafeHwnd()));
}
if('2'==CommandLine[iSave])
{
SendMessage(WM_COMMAND, MAKELONG(IDC_NETPUT, BN_CLICKED), (LPARAM)(GetDlgItem(IDC_NETPUT)->GetSafeHwnd()));
}

}