谢谢!
12 个解决方案
#1
用 __argc 判断个数 __argv 取参数
第一个参数是程序启动命令行 后面的才是参数
第一个参数是程序启动命令行 后面的才是参数
#2
用GetCommandLine()
#3
把 “D:\xxx\CEF\CEF\www.baidu.com” 的路径 去掉。
#4
什么意思, “D:\xxx\CEF\CEF\www.baidu.com” 并不是我输入的啊。
#5
你在调试-》命令行参数 输入的东西 会带上路径, 所以 要 砍掉 路径
你可以用 strrchr("d:\\xxxxx",'\\') 来 砍掉 路径。
你可以用 strrchr("d:\\xxxxx",'\\') 来 砍掉 路径。
#6
还是不明白,因为我调试得到了我输入的东西啊,要不,你可不可以示例一下,比如我要发送个“1”给应用程序使用该如何做,谢了
#7
运行 是 在 “debug” 目录 下 ?
调试 是 在 工程目录下。
调试 是 在 工程目录下。
#8
__argc 表示个数
__argv 表示参数
__argv[0] 就是你启动应用程序的完整路径
__argv[1] 传入的一个参数
__argv[n] 传入的第n-1个参数
还可以用 PathGetArgs 可以取出参数 自己解析
__argv 表示参数
__argv[0] 就是你启动应用程序的完整路径
__argv[1] 传入的一个参数
__argv[n] 传入的第n-1个参数
for(int i=0; i<__argc; i++)
{
TRACE(_T("arg%d = %s\n"), i, __argv[i]);
}
还可以用 PathGetArgs 可以取出参数 自己解析
#9
通常 在 “debug” 下 运行程序。
IDE 设置的 参数, 不会 起作用
IDE 设置的 参数, 不会 起作用
#10
问题解决,但是与楼上给出的方法毫无关系,我问题的原因,我原本建的是一个单文档的mfc工程,但是发现出错是在代码:
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);//他把我输入的参数当成了文件进行处理,导致出错。
解决方法:建立一个基于对话框的mfc,他就没有上述的解析错误,可以直接使用该参数。
总之,就是把单文档改成了对话框。
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);//他把我输入的参数当成了文件进行处理,导致出错。
解决方法:建立一个基于对话框的mfc,他就没有上述的解析错误,可以直接使用该参数。
总之,就是把单文档改成了对话框。
#11
我想起来了,dos 下有 3种 可执行 文件 .com;.exe;.bat.
#12
我没有测试,但是网上介绍说这种方法可以:
BOOL CMyWinApp::InitInstance()
{
...
// Parse command line for standard shell commands, DDE, file open
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
// DON'T display a new MDI child window during startup!!!
cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;
// Dispatch commands specified on the command line
if (!ProcessShellCommand(cmdInfo))
return FALSE;
...
};
BOOL CMyWinApp::InitInstance()
{
...
// Parse command line for standard shell commands, DDE, file open
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
// DON'T display a new MDI child window during startup!!!
cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;
// Dispatch commands specified on the command line
if (!ProcessShellCommand(cmdInfo))
return FALSE;
...
};
#1
用 __argc 判断个数 __argv 取参数
第一个参数是程序启动命令行 后面的才是参数
第一个参数是程序启动命令行 后面的才是参数
#2
用GetCommandLine()
#3
把 “D:\xxx\CEF\CEF\www.baidu.com” 的路径 去掉。
#4
什么意思, “D:\xxx\CEF\CEF\www.baidu.com” 并不是我输入的啊。
#5
你在调试-》命令行参数 输入的东西 会带上路径, 所以 要 砍掉 路径
你可以用 strrchr("d:\\xxxxx",'\\') 来 砍掉 路径。
你可以用 strrchr("d:\\xxxxx",'\\') 来 砍掉 路径。
#6
还是不明白,因为我调试得到了我输入的东西啊,要不,你可不可以示例一下,比如我要发送个“1”给应用程序使用该如何做,谢了
#7
运行 是 在 “debug” 目录 下 ?
调试 是 在 工程目录下。
调试 是 在 工程目录下。
#8
__argc 表示个数
__argv 表示参数
__argv[0] 就是你启动应用程序的完整路径
__argv[1] 传入的一个参数
__argv[n] 传入的第n-1个参数
还可以用 PathGetArgs 可以取出参数 自己解析
__argv 表示参数
__argv[0] 就是你启动应用程序的完整路径
__argv[1] 传入的一个参数
__argv[n] 传入的第n-1个参数
for(int i=0; i<__argc; i++)
{
TRACE(_T("arg%d = %s\n"), i, __argv[i]);
}
还可以用 PathGetArgs 可以取出参数 自己解析
#9
通常 在 “debug” 下 运行程序。
IDE 设置的 参数, 不会 起作用
IDE 设置的 参数, 不会 起作用
#10
问题解决,但是与楼上给出的方法毫无关系,我问题的原因,我原本建的是一个单文档的mfc工程,但是发现出错是在代码:
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);//他把我输入的参数当成了文件进行处理,导致出错。
解决方法:建立一个基于对话框的mfc,他就没有上述的解析错误,可以直接使用该参数。
总之,就是把单文档改成了对话框。
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);//他把我输入的参数当成了文件进行处理,导致出错。
解决方法:建立一个基于对话框的mfc,他就没有上述的解析错误,可以直接使用该参数。
总之,就是把单文档改成了对话框。
#11
我想起来了,dos 下有 3种 可执行 文件 .com;.exe;.bat.
#12
我没有测试,但是网上介绍说这种方法可以:
BOOL CMyWinApp::InitInstance()
{
...
// Parse command line for standard shell commands, DDE, file open
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
// DON'T display a new MDI child window during startup!!!
cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;
// Dispatch commands specified on the command line
if (!ProcessShellCommand(cmdInfo))
return FALSE;
...
};
BOOL CMyWinApp::InitInstance()
{
...
// Parse command line for standard shell commands, DDE, file open
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
// DON'T display a new MDI child window during startup!!!
cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;
// Dispatch commands specified on the command line
if (!ProcessShellCommand(cmdInfo))
return FALSE;
...
};