MFC程序启动时传递参数

文章描述了一个使用MFC编写的程序,可以根据命令行参数在后台发送短信(仅支持非中文字符),或者在双击时显示图形界面进行短信输入。程序在InitInstance()中检查参数并决定是发送短信后退出还是显示对话框。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写了一个MFC的程序,要求如果是命令行启动传递参数时直接执行并且不显示图形界面,如果双击执行,则需要显示图形界面。

这个程序是调用 http://116.213.72.20/sms_bluewings/sms_bluewingsinfo.asmx接口来发送短信(短信报警。未处理中文问题,所以只能发送非中文字符。),如果需要的可以留言。

在程序的InitInstance()中添加以下内容:

argc=0;   
 LPWSTR *argv=::CommandLineToArgvW(::GetCommandLineW(),&argc);   
 if (argc==5)  
 {  
   
 arg_Username=argv[1];  
 arg_Password=argv[2];  
 arg_Phone=argv[3];  
 arg_Message=argv[4];  

判断参数是否符合要求,符合则

    CSmsDlg dlg;  
    m_pMainWnd = &dlg;  
      
    if (argc==5)  
    {  
        dlg.SendSms(arg_Username,arg_Password,arg_Phone,arg_Message);  
        ::PostQuitMessage(1);  
    }  
      
else 
{  
    int nResponse = dlg.DoModal();  
    if (nResponse == IDOK)  
    {  
        // TODO: Place code here to handle when the dialog is  
        //  dismissed with OK  
    }  
    else if (nResponse == IDCANCEL)  
    {  
        // TODO: Place code here to handle when the dialog is  
        //  dismissed with Cancel  
    }  


这样如果是带参数启动,则执行sendsms方法后退出程序,否则启动图形界面。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值