繁体   English   中英

用C ++编程打开文档

[英]Opening a document programmatically in C++

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

尝试将此代码( 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库( windows.h )以获取ShellExecuteGetDesktopWindow函数。
  2. ShellExecute是使用参数argv [1]执行文件的函数,该参数是要打开的文件的路径
  3. lpOperation参数而不是"open"另一个选项是NULL。 "explore""find"也是选项,但它们不是用于打开文件。
  4. SW_SHOWNORMAL是在正常模式下显示程序的常量(不是最小化或最大化)

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

在标准,独立于平台的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功能的文本特定于平台的。

在托管C ++中它非常简单

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

做完了!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM