使用wxWidgets跨平台调用应用程序与打开文档

需积分: 45 26 下载量 12 浏览量 更新于2024-08-07 收藏 6.27MB PDF 举报
"调用别的应用程序-wt901c使用说明书v1.0" 本文档介绍了如何在使用wxWidgets库开发的应用程序中调用其他应用程序,特别关注于在不同操作系统上的实现。wxWidgets是一个跨平台的GUI库,使得开发者能够编写一次代码,便能在多个操作系统上运行,如Windows、Linux和Mac OS X。 20.7.1 启动一个应用程序 wxExecute函数是wxWidgets提供的一种方法,用于启动外部程序。它可以异步或同步执行程序,并处理参数。例如,要异步启动记事本程序,只需调用`wxExecute("c:\\windows\\notepad.exe")`;若要同步执行,即等待记事本关闭后继续,可以使用`wxExecute("c:\\windows\\notepad.exe", wxEXEC_SYNC)`。在处理含有空格的路径时,可以将参数和程序名用引号括起来。 20.7.2 打开文档 在Windows和Linux上,可以使用wxMimeTypesManager类来确定打开特定文档类型所需的程序,并构造调用参数。例如,打开HTML文件的代码如下: ```cpp wxString url = wxT("c:\\home\\index.html"); wxFileType *ft = wxTheMimeTypesManager->GetFileTypeFromExtension(wxT("html")); if (ft) { wxString cmd; bool ok = ft->GetOpenCommand(&cmd, wxFileType::MessageParameters(url, wxEmptyString)); delete ft; if (ok) { ok = (wxExecute(cmd, wxEXEC_ASYNC) != 0); } } ``` 然而,这种方法在Mac OS X上不适用,因为该平台使用的是不同的文档打开机制。对于Mac OS X,建议使用系统提供的Finder或特定函数(如ICLaunchURL)来打开文件。 为了简化这一过程,随书附带的示例代码提供了如wxLaunchFile、wxViewHTMLFile、wxViewPDFFile和wxPlaySoundFile等函数,这些函数封装了平台相关的细节,方便在不同系统上使用。 使用wxWidgets进行跨平台GUI编程 这本书《Cross-Platform GUI Programming with wxWidgets》是关于如何使用wxWidgets进行跨平台应用程序开发的指南,假设读者已经具备C++和GUI编程基础。准备开发环境通常涉及安装相应的wxWidgets库和开发工具,如在Linux上安装wxGTK,在Ubuntu上安装libwxgtk2.6-dev(可能已更新至更高版本),在Windows上则可能需要下载wxWidgets库并用Visual Studio打开示例工程。 作者指出,书中包含的示例代码与wxWidgets自带的示例类似,可用于理解和实践相关概念。如果有问题或需要联系,可以通过Skype或邮件与作者沟通。 这篇文档提供了在wxWidgets应用中调用其他程序和打开文档的指导,同时介绍了使用wxWidgets进行跨平台开发的基本信息。通过使用wxWidgets库,开发者可以轻松地创建能够在多种操作系统上运行的GUI应用程序。