VC怎样给生成的应用程序传递参数?

如我用vc生成了文件myproc.exe我怎样通过另一个程序a.exe给它传递如,myproc.exe1,怎样传递1进去,因为1进去myproc.exe就进行复制,2就进... 如我用vc生成了文件myproc.exe
我怎样通过另一个程序a.exe给它传递如,myproc.exe 1,怎样传递1进去,因为1进去myproc.exe就进行复制,2就进程移动等等……,不知道两个程序关键的地方怎样写,myproc.exe功能我已经写好了,在参数这里卡住了
我等伙再加分,先谢谢大家。
我想这样子,在dos模式下可以打入: myproc.exe 1
然后就进行复制操作了,不需要myproc.exe读取硬盘上的ini配置文件;
"Frank7258"您好,可以详细说明一下向我上面dos打入的1参数,它保存到哪儿去了吗?
展开
 我来答
lilaosi2001
2011-01-24 · TA获得超过823个赞
知道小有建树答主
回答量:296
采纳率:0%
帮助的人:355万
展开全部
我来说下吧,你的那个a.exe应该调用API函数CreateProcess(“myproc.exe”,“1”,...);
后面的参数我就不填写了,你自己看下MSDN然后填写吧!就说下这个API吧,主要功能是启动一个子进程,第一个参数是你的可执行程序文件名,我这里就写了myproc.exe,你最好写完整路径;第二个参数是命令行参数;这样a.exe会启动myproc.exe,同时传入1为命令行参数;
下来myproc.exe可以通过GetCommandLine()和CommandLineToArgvW()来获得这个命令行参数。具体API怎么用去看下MSDN吧,就不细说了,很简单!!
buaaeeww
2011-01-24 · TA获得超过683个赞
知道答主
回答量:154
采纳率:0%
帮助的人:231万
展开全部
C语言中的main函数,一般会带有2个参数,例如int main ( int argc, char* argv[]),这是一个典型的main函数的声明。
为了在执行程序时需要向程序传递参数,参数argc代表了输入参数的个数,char *argv[]表示传入的参数的字符串,是一个字符串数组。
例如编写一个小程序:
int main(int argc, char* argv[])
{
int i;
printf("test main parameter\n");
printf("argc:%d\n", argc);
for(i=0;i<argc;i++)
{
printf("argv[%d]:%s\n", i, argv[i]);
}
exit(0);
}

对于你的程序,目前来看只要求argc=1,将参数存储到argv[0]中,然后对argv[0]的值进行判断就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qiujiejia
2011-01-23 · TA获得超过499个赞
知道小有建树答主
回答量:304
采纳率:0%
帮助的人:244万
展开全部
另外一个程序里保存变量为 “1”
WriteProfileString("WheelVolume","IsFirstExcute","1"); //修改参数

//主程序myproc.exe里获取这个变量:
char buf[4]={0};
GetProfileString("WheelVolume","IsFirstExcute","0",buf,sizeof(buf));
结构:buf=“4”
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Frank7258
2011-01-23 · TA获得超过1503个赞
知道小有建树答主
回答量:381
采纳率:0%
帮助的人:547万
展开全部
MFC中命令行参数可以用全局变量__argc以及__argv获得,他们的定义是

int __argc;
char* __argv[];

注意,前面是两个下划线,而且是ANSI编码的,也就是char类型的,在Unicode编码程序的时候要用A2T转换成wchar_t类型。这两个变量和控制台程序是一样的定义。

另外,MFC比较好的方法来处理命令行,如果你是SDI或者MDI程序,在APP类的InitIncetance中有这么几行
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);

// Verteilung der in der Befehlszeile angegebenen Befehle. Gibt FALSE zurück, wenn
// die Anwendung mit /RegServer, /Register, /Unregserver oder /Unregister gestartet wurde.
if (!ProcessShellCommand(cmdInfo))
return FALSE;

他们就是在处理命令行的参数或者通过DDE传递进来的信息。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陈宗权8d804
2011-01-23 · TA获得超过3766个赞
知道小有建树答主
回答量:1159
采纳率:0%
帮助的人:942万
展开全部
Project--Settings--Debug--Program arguments下面填上你要传递的参数(比如1)就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式