导航:首页 > 程序命令 > mfc执行命令

mfc执行命令

发布时间:2022-05-09 14:39:30

㈠ mfc程序怎么接受命令行参数

三种方法:

假设我们启动程序的时候执行的是以下命令:

D:mfcapp.exe -l -f ./1.txt

方法1,调用全局函数

::GetCommandLine();

将获取到全部参数信息:D:mfcapp.exe -l -f ./1.txt

方法2,使用宏__argc和__argv,使用方法和命令行main(int argc,char *argv[])一样,示例代码:

for(inti=0;i<__argc;i++)
{
__argv[i];//依次遍历可以得到D:mfcapp.exe-l-f./1.txt
}

方法3:使用CWinApp类的成员变量m_lpCmdLine,它里面包含除了第一个参数的所有信息,比如:

AfxGetApp()->m_lpCmdLine;//结果为-l -f ./1.txt

㈡ 怎么使用mfc的cdatabase类直接执行sql命令

环境:WindowsXP ; VC++6.0 + sp5 1。通过odbc直接执行SQL语句CDatabase mydb;
CRecordset myRecord;
CString strSQL;
CDBVariant cv;try{if ( !mydb.IsOpen() )
mydb.OpenEx("数据库连接字符串",CDatabase::noOdbcDialog); myRecord.m_pDatabase = &mydb;
//直接执行SQL语句,
//注意,SQL语句字符串一定不能以空格开始
strSQL = "SELECT 字段或计算列 FROM 表 WHERE 条件";
//strSQL = " SELECT 字段或计算列 FROM 表 WHERE 条件 "; //这样不行,会报错,查询语句中没有字段
myRecord.Open(CRecordset::snapshot,"需要执行的SQL语句"); int i = 0;
while ( !myRecord.IsEOF() ){myRecord.MoveFirst();
myRecord.GetFieldValue(i,cv); //获得第(i+1)列的数据,数据保存在CDBVariant变量中,不可以直接使用数字0
myRecord.MoveNext();}
myRecord.Close();
mydb.Close();
}上文中的 myRecord.GetFieldValue(i,cv); 语句也可以使用下面的方式实现。

㈢ 利用MFC执行dos命令,system()函数的相关问题。

每个system会弹出一个窗口
如果想在同一窗口中执行多个命令,可采用下面方式:
system("命令1 && 命令2 && 命令3...");

system("d: && md abc && cd abc && md def");
相当于打开cmd后执行了如下的命令:
d:
md abc
cd abc
md def

我的回答有没有帮到你?

㈣ 在MFC程序中怎么打开CMD命令窗口,运行一些代码

很多人问,但无正确答案。CSDN也有人问,但CSDN的帖子过期就不能回复,所以别人有答案了也干着急。CSDN领导人脑袋长了肿瘤吧?
答案如下:
using namespace std;
STARTUPINFO si;
memset(&si, 0, sizeof(STARTUPINFO));//初始化si在内存块中的值(详见memset函数)
si.cb = sizeof(STARTUPINFO);
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_SHOW;
PROCESS_INFORMATION pi;//必备参数设置结束
if (!CreateProcessW(TEXT("C:\\WINDOWS\\system32\\cmd.exe"),
TEXT("/k tclsh "),
NULL,
NULL,
FALSE,
0,
NULL,
NULL,
&si,
&pi
)){
cout << "CreateFail!" << endl;
exit(1);
}
else{
cout << "Success!" << endl;
}
//不使用的句柄最好关掉
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
重点是CreateProcessW函数的第二个参数要带上/k参数!!!!!!!!!!!!

㈤ MFC中调用控制台程序如何进行自动输入并执行

以ping命令为例。
CStringA str = "ping sohu.com";
str += " -t";
system(str);

以上是vs2008环境。在vc6下如果CStringA不能通过编译请使用CString代替。

你把ping sohu.com改成你的长文件路径就可以了啊。
CStringA str = "c:\\mypass\\MypassCCCCC.exe";
// str += " -t";
system(str);
另外,要确认你的控制台程序中有接收参数的功能。如果没有,光靠简单的调用api函数是达不到你要求的,即使用其他函数也一样。这样的话,你可以考虑编写一个.bat批处理文件。
system( "X:\\xxxx\\xx.bat");
这下应该够明白了吧

㈥ MFC 主对话框收到消息,就重新执行命令,而不是等到执行完第一次再执行第二次

这个必须基于线程。
窗口消息机制,是一个消息队列,消息是顺序执行的,虽然有“插队”和“清除”机制,但比较简单粗暴。
你需要将按钮内的任务做成一个工作者线程,每次按钮消息是启动这个线程,这样按钮消息就可以快速返回了,但任务依然在继续。这样再次点击按钮的时候,如果存在线程,则结束线程,启动新的线程。
这个逻辑应该是你需要的(记得前面看到你提问过),不过线程的相关知识,对初学者可能有些复杂,你需要了解创建线程、信号灯机制,线程异步管理等相关知识,这个不是几句话说得清的,在VC相关书籍中,是几个大章节的内容。
线程的用法和相关知识太多,建议你使用AfxBeginThread,并着重研究WaitForSingleObject和CEvent用法,网络这两个关键词有各种讲解。

㈦ 菜鸟请教,MFC如何执行带参数的EXE

1、外部运行:cmd中 a.exe -param1 -param2
2、IDE中:属性-调试-命令参数中添加

㈧ MFC按钮调用一程序,如何执行程序命令行参数呢

标准c库函数不知道行不行,如果在win32环境下,调用win32 API绝对是可以的,用shellexecute函数启动程序,命令行参数在程序名称后按空格隔开,在调用程序main函数中使用string strLine=::AfxGetApp()->m_lpCmdLine;就可以获取命令行参数了,在开发多进程项目的时候用的比较多,常用于进程间启动参数传递。

㈨ MFC中定时器运行时能执行其他命令吗

仅供参考:
可以。
在定时器启动的时候,定时器函数中的代码定时执行。
在启动定时器之后的代码也会依次执行。

㈩ MFC中怎么调用cmd并执行命令

ShellExecute(NULL, "open", "ping", "127.0.0.1", NULL, SW_SHOW);

阅读全文

与mfc执行命令相关的资料

热点内容
新手玩狼人杀用什么app 浏览:614
pdf在线查看 浏览:953
安卓tv90如何关闭后台 浏览:682
php读取word乱码 浏览:753
minicom源码 浏览:1000
海尔冷柜压缩机 浏览:415
联通服务器如何调试信号 浏览:135
stata新命令 浏览:940
单调栈算法python 浏览:605
微信解压游戏怎么下载 浏览:961
忍三服务器不同如何登上账号 浏览:821
php求积 浏览:295
封面命令 浏览:879
手机复制文件夹到另一个文件夹 浏览:992
手游为什么不能统一下服务器 浏览:246
iphone上pdf 浏览:884
window定时python脚本 浏览:64
怎么运行cmd命令行 浏览:366
php中类的继承 浏览:228
openvpnlinux安装配置 浏览:463