我有一個用C++編寫的控制檯程序。現在,我想每次在控制檯中鍵入「手動」程序的用戶時,打開手動文檔(以.txt或.pdf)。我怎樣才能做到這一點?任何指向教程的鏈接都會有所幫助。謝謝用C++編程打開文檔
1
A
回答
2
假設你在Windows上,你正在尋找ShellExecute函數。 (使用 「開放式」 的動詞)
4
嘗試編譯這段代碼(Open.cpp)到Open.exe 然後,您可以用(例如)這些參數來執行:
打開 「C:\你的FILE.DOC」
打開 「C:\你的file.exe」
打開記事本
#include "windows.h"
int main(int argc, char *argv[])
{
ShellExecute(GetDesktopWindow(), "open", argv[1], NULL, NULL, SW_SHOWNORMAL);
}
解釋程序的:
- 你應該首先包括窗口 庫(WINDOWS.H)獲得 的ShellExecute和GetDesktopWindow功能。
- 的ShellExecute是與參數 的argv [1]即路徑要打開的文件
- 爲
lpOperation
參數代替"open"
另一種選擇是 NULL執行該文件的功能。"explore"
和"find"
也是 也是選項,但它們不是 用於打開文件。 - SW_SHOWNORMAL是常數 在正常模式下顯示程序(未 最小化或最大化)
1
在標準的,獨立於平臺的,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
功能的文字是特定平臺。
+0
謝謝,它可行!當我嘗試使用Adobe打開PDF文件時失敗。它說「acrord32.exe不被識別爲內部或外部命令,可操作或程序批處理文件」。 – James 2010-05-01 01:10:10
1
在託管C++是它很容易
系統::診斷::過程::啓動(路徑);
完成!
相關問題
- 1. 用c打開word文檔#
- 2. C打開文件時編程fopen()
- 3. 用office365打開文檔使用ASP.NET C#web應用程序
- 4. 使用Objective-C爲OS X應用程序打開文檔
- 5. 無法在C編輯後打開文檔文件
- 6. 使用Google文檔查看器打開文檔(.doc,.pdf) - C#
- 7. 打開谷歌文檔編號
- 8. 打開文檔打開我的應用程序的舊版本
- 9. C++元編程Doxygen文檔
- 10. 在c sharp應用程序中打開Word文檔
- 11. 在C#中打開HTML文檔#
- 12. C FOpen()打開文檔目錄iOS
- 13. 打開'新'文檔?
- 14. 打開Word文檔
- 15. silverlight打開文檔
- 16. Google文檔api在編輯模式下打開文檔
- 17. 使用JMenuItem打印打開的文檔
- 18. 以編程方式打開位於C中的計算機上的Word文檔#
- 19. 編輯Word文檔編程C#
- 20. 在Python中打開遠程文檔
- 21. 以便攜式方式以編程方式打開文檔
- 22. 從SharePoint文檔庫打開文檔
- 23. Colorbox打開文檔外部的文檔
- 24. 以編程方式打印文檔
- 25. 以編程方式打印HTML文檔
- 26. 以編程方式打印PDF文檔
- 27. 如何以編程方式打開NSDocument macOS應用程序中的文檔?
- 28. 以編程方式使用c打開安全Sharepoint文件#
- 29. 使用C編程打開不同的文件
- 30. 用Google Docs打開文檔文件,Asp.Net
在什麼平臺上? – 2010-04-30 15:53:06
另外,您打算自己編寫查看器,還是要打開第三方查看器來顯示文檔內容。更多的細節可能有助於獲得您正在尋找的答案。 – 2010-04-30 15:55:54
@James McNellis 我在Windows上編寫了它,但我也想在Linux機器上運行它。代碼可以獨立於平臺嗎?您只需更改應用程序參數,然後重新編譯源代碼。 @Rob 我打算在windows上使用記事本或在linux上使用gedit來打開它。 – James 2010-05-01 00:48:24