处理命令行的方法
命令行处理
两个进程之间进行事务出来时,可以通过命令行来处理。在这里介绍命令行处理知识。
在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())); }}