用C ++编程打开文档

时间:2010-04-30 15:51:48

标签: c++

我有一个用C ++编写的控制台程序。现在,我希望每次程序用户在控制台中键入“手动”时打开手动文档(.txt或.pdf)。我怎样才能做到这一点?任何教程链接都会有所帮助。谢谢

4 个答案:

答案 0 :(得分:5)

尝试将此代码( Open.cpp )编译为 Open.exe 然后,您可以使用(例如)这些参数执行它:

打开“C:\ your file.doc”

打开“C:\ your file.exe”

打开记事本

#include "windows.h"

int main(int argc, char *argv[])
{
    ShellExecute(GetDesktopWindow(), "open", argv[1], NULL, NULL, SW_SHOWNORMAL);
}

该计划的说明:

  1. 您应首先包含窗口 获取库( windows.h ShellExecute GetDesktopWindow 功能。
  2. ShellExecute 是使用参数执行文件的函数 argv [1] ,即要打开的文件的路径
  3. lpOperation的另一个选项 而不是"open"的参数是 空值。 "explore""find"是。{ 也有选择,但他们不是 用于打开文件。
  4. SW_SHOWNORMAL 是常量 以正常模式显示程序(不是 最小化或最大化)

答案 1 :(得分:2)

假设您使用的是Windows,那么您正在寻找ShellExecute功能。 (使用“开放”动词)

答案 2 :(得分:2)

在标准,独立于平台的C和C ++中,您可以使用system函数传递应用程序的名称以打开文件。

例如,使用Windows:

const char text_filename[] = "example.txt";
const char text_application[] = "notepad.exe";

std::string system_str;
system_str = text_application;
system_str += " ";
system_str += text_filename;

// Execute the application
system(system_str.c_str());

您发送给system函数的文字特定于平台。

答案 3 :(得分:1)

在Managed C ++中很容易

系统::诊断::过程::启动(路径);

完成!