精华内容
下载资源
问答
  • 发送字符串消息
    void CvtkmfcDoc::OnFileOpen()
    
    {
    CString szFilters = _T("stl文档(*.stl)|*.stl|vtk文档(*.vtk)|*.vtk|所有文档(*.*)|*.*|");


    CFileDialog OpenDlg(TRUE, _T("*.stl"),NULL, OFN_HIDEREADONLY, szFilters);
    OpenDlg.m_ofn.lpstrTitle = (LPCTSTR) _T("Open File");



    if (IDOK == OpenDlg.DoModal())
    {  
    CString str; 
    CFile File;
    CFileException e;
    //构造文件,同时增加异常处理  
    if (!File.Open(OpenDlg.GetPathName(), CFile::modeRead, &e))
    {
    CString strErr;
    strErr.Format(_T("File could not be opened %d\n"), e.m_cause);
       
    }
    str= OpenDlg.GetPathName();
    char *strChar = (char*)str.GetBuffer(str.GetLength()+1);
    str.ReleaseBuffer();

    CString str1 ;
    str1.Format(_T("%s"), strChar);
    //CString suffixStr = str.substr(str.fin('.') + 1);//获取文件后缀  
    CMainFrame *pMain = (CMainFrame*)AfxGetApp()->m_pMainWnd;
    CvtkmfcView *pView = (CvtkmfcView *)pMain->GetActiveView();
    SendMessage(pView->m_hWnd, WM_MSG3DSHowSTLMSG, WPARAM(str1.GetBuffer(str1.GetLength() + 1)), (LPARAM)(str1.GetBuffer(str1.GetLength() + 1)));
    str1.ReleaseBuffer();
    return;
    }


    }

    Cstring 转为String格式

    LRESULT CvtkmfcView::On3DSTLResponseFunction(WPARAM wParam, LPARAM lParam)



    CString str;
    str.Format(_T("%s"), (CHAR*)wParam);
    std::string path = CT2A(str);
    //(LPCSTR)str.GetBuffer(str.GetLength());
    readStllFunction(path);
    return 0;
    }


    展开全文
  • MFC 串口发送文件

    千次阅读 2015-10-23 15:41:33
    MFC 串口发送文件 以下代码在龚建伟的串口源码代码上修改而来! 因为龚建伟的串口源码发送文件错误,故作了下修改,可以发送文件了,希望可以帮助到需要的童鞋们! 经过调试,终于把这段代码给写好啦! 先通过...
    MFC 串口发送文件

    以下代码在龚建伟的串口源码代码上修改而来!
    因为龚建伟的串口源码发送文件错误,故作了下修改,可以发送文件了,希望可以帮助到需要的童鞋们!
    经过调试,终于把这段代码给写好啦!
    先通过一个button 打开一个文件,然后通过文件函数,把打开的文件读到一个指针buffer中,再利用串口函数把读到的数据发送出去。
    在此注意:用串口发送函数时,用这个函数(因为是指针数据,所以需要指出文件的长度fplength):
    m_Port.WriteToPort((LPCTSTR)fpBuff,fplength); //发送数据//打开文件
    void CserialDlg::OnBnClickedButton6()
    {
    // TODO: 在此添加控件通知处理程序代码
    // TODO: Add your control notification handler code here
    LPCSTR lpszPath = "c:\\comdata";
    SetCurrentDirectory( lpszPath );
    static char BASED_CODE szFilter[] = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*||";


    CFileDialog FileDlg( TRUE,  NULL,  NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
    szFilter );
    FileDlg.m_ofn.lpstrInitialDir = lpszPath ;


    if( FileDlg.DoModal() ==IDOK )
    {


    CString strFileName = FileDlg.GetFileName( );
    CString strFileExt = FileDlg.GetFileExt( );
    CString lpstrName =  FileDlg.GetPathName( );
    m_strSendFilePathName=lpstrName;
    UpdateData(FALSE);
    }
    }
    //发送文件
    void CserialDlg::OnBnClickedButton8()
    {
    // TODO: 在此添加控件通知处理程序代码
    CFile fp;
    if(!(fp.Open((LPCTSTR)m_strSendFilePathName,CFile::modeRead))) 
    {
    AfxMessageBox("Open file failed!");
    return;
    }
    fp.SeekToEnd();
    unsigned long fplength=fp.GetLength();
    m_nFileLength=fplength;
    char* fpBuff=NULL;
    fpBuff=new char[fplength];
    fp.SeekToBegin();
    if(fp.Read(fpBuff,fplength)<1)
    {
    fp.Close();
    return;
    }
    fp.Close();




    if(m_Port.m_hComm==NULL)
    {
    m_ctrlAutoSend.SetCheck(0);
    AfxMessageBox("串口没有打开,请打开串口");
    return;
    }
    else
    {
    UpdateData(TRUE);

    if(m_ctrlHexSend.GetCheck())
    {
    char data[512];
    int len=Str2Hex(m_strSendData,data);
    m_Port.WriteToPort(data,len);
    TX_count+=(long)((m_strSendData.GetLength()+1)/3);
    //m_Port.WriteToPort(hexdata);
    }
    else 
    {
    //m_Port.WriteToPort((LPCTSTR)m_strSendData); //发送数据
    m_Port.WriteToPort((LPCTSTR)fpBuff,fplength); //发送数据
    //TX_count+=m_strSendData.GetLength();
    TX_count+=fplength;
    }
    CString strTemp;
    strTemp.Format("TX:%d",TX_count);
    m_ctrlTXCount.SetWindowText(strTemp);


    delete fpBuff;
    }

    }
    展开全文
  • ShellExecute:可以指定工作目录,并且还可以寻找文件的关联直接打开不用加载与文件关联的应用程序,ShellExecute还可以打开网页,启动相应的邮件关联发送邮件等等。CreateProcess :一共有十个参数,不过大部分都...

    三种方法:WinExec,ShellExecute ,CreateProcess

    WinExec:两个参数,前一个指定路径,后一个指定显示方式。 
    ShellExecute:可以指定工作目录,并且还可以寻找文件的关联直接打开不用加载与文件关联的应用程序,ShellExecute还可以打开网页,启动相应的邮件关联发送邮件等等。 
    CreateProcess :一共有十个参数,不过大部分都可以用NULL代替,它可以指定进程的安全属性,继承信息,类的优先级等等。如果我们要得到足够多的关于新的进程的信息,控制新的进程的细节属性,若要达到这些目的,我们就需要使用CreateProcess函数了。  

     

    1. UINT WinExec(  
      LPCSTR lpCmdLine,   // 命令路径  
      UINT uCmdShow      // 显示方式  
      );  

        这个函数只能打开exe文件。  

    WinExec(_T("Notepad.exe"), SW_SHOW);  // 打开记事本  
    WinExec(_T("D:\\Program Files\\Test\\Test.exe"),SW_SHOWMAXIMIZED); // 以最大化的方式打开Test.exe  

    2. HINSTANCE ShellExecute(  
      HWND hwnd,           //父窗口句柄  
      LPCTSTR lpOperation,   //操作, 打开方式 "edit","explore","open","find","print","NULL"  
      LPCTSTR lpFile,         //文件名,前面可加路径  
      LPCTSTR lpParameters,   //参数  
      LPCTSTR lpDirectory,    //默认文件夹  
      INT nShowCmd          //显示方式  
      );  

        这个函数可以打开任意文件,会调用系统注册的程序来打开对应后缀名的文件。 

    ShellExecute(NULL,_T("open"),_T("C:\\Test.txt"),NULL,NULL, SW_SHOWNORMAL); // 打开C:\Test.txt 文件  
    ShellExecute(NULL, _T("open"), _T("http://www.google.com/"),  NULL, NULL, SW_SHOWNORMAL); // 打开网页www.google.com  
    ShellExecute(NULL,_T("explore"), _T("D:\\C++"),NULL,NULL,SW_SHOWNORMAL); // 打开目录D:\C++  
    ShellExecute(NULL,_T("print"),_T("C:\\Test.txt"),NULL,NULL , SW_HIDE); // 打印文件C:\Test.txt  

    3. BOOL CreateProcess(  
      LPCTSTR lpApplicationName, //执行程序名  
      LPTSTR lpCommandLine,  // 参数行  
      //下面两个参数描述了所创建的进程和线程的安全属性,如果为NULL则使用默认的安全属性  
      LPSECURITY_ATTRIBUTES lpProcessAttributes,  // process security attributes  
      LPSECURITY_ATTRIBUTES lpThreadAttributes,   // thread security attributes  
      BOOL bInheritHandles,  // 继承标志  
      DWORD dwCreationFlags, // 创建标志  
      LPVOID lpEnvironment,  // 环境变量  
      LPCTSTR lpCurrentDirectory,   // 运行该进程的初始目录  
      LPSTARTUPINFO lpStartupInfo,  // 用于在创建子进程时设置各种属性  
      LPPROCESS_INFORMATION lpProcessInformation //用于在进程创建后接受相关信息  
      );  

        这个函数可以打开任意文件,会调用系统注册的程序来打开对应后缀名的文件。 

     

     

    参考:https://blog.csdn.net/samdy1990/article/details/16919969

    展开全文
  • MFC文件打开和保存

    2019-09-28 15:54:44
    最近写了一个MFC串口程序,涉及文件发送和保存的功能。 1.打开TXT文件 1 void CportDlg::OnBnClickedButtonOpenfile() //打开文件并显示内容 2 { 3 CFileDialog opendlg(true, NULL, NULL, OFN_...

    最近写了一个MFC串口程序,涉及文件发送和保存的功能。

    1.打开TXT文件

     1 void CportDlg::OnBnClickedButtonOpenfile()  //打开文件并显示内容
     2 {     
     3     CFileDialog opendlg(true, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, (LPCTSTR)_TEXT("TXT Files (*.txt)|*.txt|All Files (*.*)|*.*||"), NULL);
     4     if (opendlg.DoModal() == IDOK){ //显示对话框并允许用户进行选择。
     5         CString filepathname = opendlg.GetPathName(); //文件路径
     6         m_file.SetWindowTextW(filepathname); //在编辑框显示文件路径
     7         CStdioFile fsend;    CString s_one;
     8         if (fsend.Open(filepathname, CFile::typeText | CFile::modeRead)) //只读模式打开txt文件
     9         {
    10             while (fsend.ReadString(s_one)) { //逐行读取文件内容
    11                 m_send += s_one; m_send += TEXT("\r\n");
    12                 m_EditSend.SetWindowTextW(m_send); //将读取的文本显示在编辑框
    13             }
    14             fsend.Close();
    15         }
    16     }
    17     else return;
    18 }

    2.接收区的数据保存到TXT文件

     1 void CportDlg::OnBnClickedButtonSavefile() //保存文件为TXT格式
     2 {
     3     CFileDialog savedlg(false, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, (LPCTSTR)_TEXT("TXT Files (*.txt)|*.txt|All Files (*.*)|*.*||"), NULL);
     4     if (savedlg.DoModal() == IDOK){ //显示对话框并允许用户进行选择。
     5         CFile fsave(savedlg.GetPathName(), CFile::modeCreate | CFile::modeReadWrite);        
     6         //CString转char[]
     7         static char str[] = ""; int count = m_receive.GetLength();
     8         for (int i = 0; i < count; i++)
     9             str[i] = m_receive[i];
    10 
    11         fsave.Write(str, strlen(str)); //写入文件
    12         //fsave.Write(m_receive, m_receive.GetLength() * 2); //读取CString信息长度,必须*2
    13         fsave.Flush(); //立即写入,不缓冲
    14         fsave.Close(); //文件操作结束关闭
    15     }
    16     else return;
    17 }

    以CString类型保存的数据文件,在MFC串口打开文件发生信息丢失,所以将CString改成char[]类型。

    转载于:https://www.cnblogs.com/Ivy-yang/p/tuzi-mfc_file.html

    展开全文
  • MFC socket 发送文件

    千次阅读 2015-06-27 16:06:25
    MFC TransmitFile 函数直接封装了 文件打开 读 ,送往socket 的过程,使用它 直接绑定一个文件 即可传送: { //begin //获取目录所有文件 CFileFind tempFind; CString path=N9000_CONFIG_PATH_FILE...
  • 一,打开文件对话框 (1)创建一个基于对话框的MFC应用程序工程,名称设为“COpenFile”。 (2)添加两个编辑框,ID分别为IDC_OPEN_EDIT和IDC_SAVE_EDIT; 再添加两个按钮,ID分别设为IDC_OPEN_BUTTON和IDC_SAVE_...
  • 使用VS2015开发,能够发送文件和图片; 输入服务器IP和端口号建立连接;点击打开图片即可打开资源管理器选择文件或者图片,选择完成后自动发送。关键部位有注释
  • MFC打开和枚举文件夹文件

    千次阅读 2016-05-18 14:11:30
      1.MFC中BROWSEINFO结构中包含有用户选中目录的重要信息。 BROWSEINFO结构  ●定义  typedef struct_browseinfo {   HWND hwndOwner;   LPCITEMIDLIST pidlRoo
  • MFC 打开外部EXE文件的三种方法

    万次阅读 2013-11-24 15:10:46
     可以养成使用绝对路径的习惯,另外,记得打开文件之类的操作,一定要验证是否有错。 VC++6.0 Win95 如何在VC++中调用外部的DOS程序?它的函数是什么?如果用API,它的函数是什么? 回答: 你可以使用Windows API...
  • MFC选择文件

    千次阅读 2016-05-21 22:40:26
    通过MFC作界面,选择文件/文件夹
  •  可以养成使用绝对路径的习惯,另外,记得打开文件之类的操作,一定要验证是否有错。   VC++6.0   Win95   如何在VC++中调用外部的DOS程序?它的函数是什么?如果用API,它的函数是什么?   回答:...
  • MFC打开已有的excel文件,并编辑,保存 问题1.创建excel文件并保存 载入excel API vs 2010 --》project--》class wizard --》Add Class --》MFC Class From TypeLib --》File 如下图 program file --...
  • 最近做的项目简单总结一下,因为对MFC不是很熟,...1、MFC文件打开框(多字节) char* cFileName=NULL; //保存文件 ​ void CToolDlg::OnBnClickedSelect() { BOOL isOpen = TRUE; //是否打开(否则为保存) ...
  • 该程序可将pdf文件mfc程序中显示,基于vc6.0开发
  •  使用VS2013编译的程序在windows xp中运行时,经常会出现找不到相关的DLL文件,我们可以使用静态编译的方法把这些运行依赖文件打包到*.exe中来,以减少对环境的依赖。 一般可以配置以下两项: (1)项目 -> **属性 ...
  • MFC实现文件的自动保存

    千次阅读 2014-11-15 17:25:53
    本文主要介绍:MFC中,在文件操作完成后,实现对操作结果自动保存。 自动保存有两种:一种是每步操作完成后,都进行自动保存;另一种是不在每步操作完成后保存,在文件关闭后自动保存。 要实现文件的自动保存...
  • 转载自:...1.获取文件的路径 CFileDialog fileDlg(TRUE); fileDlg.m_ofn.lpstrTitle=L"打开文件"; //fileDlg.m_ofn.lpstrFilter=_T("Program(*.exe)\0*.exe\0All Files(*...
  • MFC打开文件夹选择对话框

    千次阅读 2017-06-19 09:05:07
    如果用户在编辑框中输入的名字非法,浏览对话框将发送BFFM_VALIDATEFAILED消息给回调函数。 作者:weekdawn void CMD5TestDlg::OnBnClickedButtonDir() { // TODO: 在此添加控件通知处理程序代码 //...
  • mfc 打开其他外部程序

    千次阅读 2013-12-11 22:27:13
    有三个API函数可以运行可执行文件WinExec、ShellExecute和CreateProcess。CreateProcess因为使用复杂,比较少用。   WinExec主要运行EXE文件。  ⑴ 函数原型: UINT Win Exec(LPCSTR lpCmdLine, UINT ...
  • MFC选择文件存放路径

    千次阅读 2013-07-29 16:18:13
    MFC选择文件存放路径 BROWSEINFO bi;  ZeroMemory(&bi,sizeof(BROWSEINFO)); //指定存放文件的默认文件夹路径  bi.ulFlags = BIF_RETURNONLYFSDIRS;  bi.lpszTitle="选择文件存放路径"; //添加提示语句 ...
  • MFC文件读写操作

    千次阅读 2011-04-19 21:21:00
    由于要写个游戏工具方便编程,要用到文件类的操作,看到这篇文章不错,特转载      计算机室如何管理自身所存放着的大量的信息的呢?windows的磁盘管理程序为我们提供了一套严密而又高效的...
  • MFC读写文件CStdioFile,CFile

    千次阅读 2016-06-18 14:33:39
     MFC中使用CStdioFile类封装了C++运行时刻文件流的操作,流文件采用缓冲方式,支持文件模式和二进制模式文件操作,默认方式为文本模 式。  CStdioFile类从CFile类继承,具有如下三个构造函数:  1、CStdioFile()...
  • 最近项目里需要开发一个新功能,接受客户端指令然后打开一些常用软件:文本,网页,office办公软件。 以前做过一个项目就是对网页的操作,当时是使用ShellExecute函数来解决的,ShellExecute函数是用来运行一个外部...
  • MFC文件读写

    万次阅读 2009-09-24 23:30:00
    windows的磁盘管理程序为我们提供了一套严密而又高效的信息组织形式--硬盘上的信息是以文件的形式被管理的。面向存储的文件技术什么是文件?计算机中,一篇文章、一幅图片、一个程序等都是以文件的形式存储在磁盘上...
  • MFC默认文件菜单及串行化

    千次阅读 2009-10-28 23:48:00
    MFC的默认文件菜单,提供了“新建”、“打开”、“保存”“另存为”等功能。序列化(串行化)是微软提供的用于对对象进行文件I/O的一种机制,该机制在框架(Frame)/文档(Document)/视图(View) 模式中得到了很好的应用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,423
精华内容 4,969
关键字:

mfc打开文件发送