我从另外一个软件的菜单中执行我程序,
但我想传给我的应用程序几个参数, 但不知道传的参数是什么类型的,还有不知道怎么接收.我的应用程序是一个基于对话框的程序.

解决方案 »

  1.   

    你可以用GetCommandLine获得整个命令行。 
    不过AppWizard生成的代码中,InitInstance中包括如下代码: 
         // Parse command line for standard shell commands, DDE, file open 
         CCommandLineInfo cmdInfo; 
         ParseCommandLine(cmdInfo); 
         
         // Dispatch commands specified on the command line 
         if (!ProcessShellCommand(cmdInfo)) 
         return FALSE; 
         
    这是MFC程序处理命令行的部分,如果你不希望它们影响你的程序,可以注释掉。
      

  2.   

    可我仍然不知道如何获得命令行中的具体的一个个的参数.
    我根本找不到C++语言中 main( )函数中的那样的arg[n]之类的东西.
      

  3.   

    还是用文件映射吧!
    HANDLE CreateFileMapping(
      HANDLE hFile,                       // handle to file
      LPSECURITY_ATTRIBUTES lpAttributes, // security
      DWORD flProtect,                    // protection
      DWORD dwMaximumSizeHigh,            // high-order DWORD of size
      DWORD dwMaximumSizeLow,             // low-order DWORD of size
      LPCTSTR lpName                      // object name
    );
    HANDLE OpenFileMapping(
      DWORD dwDesiredAccess,  // access mode
      BOOL bInheritHandle,    // inherit flag
      LPCTSTR lpName          // object name
    );具体用法你可以在msdn上的到帮助
      

  4.   

    CreateProcess(NULL,strCmdLine,......)
    第二个就是命令行啦
    是这个意思吗
      

  5.   

    我的意思是这样的.
    比如说命令行是  MyProgram  25 30
    我在我的MyProgram程序中如何取得 25 和  30 这两个参数?