2012-12-19 94 views
0

我使用firebreath開發了npapi插件。我想訪問放置在計算機內的一個圖像。我很困惑如何給插件類中的文件路徑,或者我需要把它放在其他指定的文件夾?請幫忙。在插件中給出文件路徑

回答

2

在您的主要插件對象中,您可以調用getFSPath()來獲取插件.dll的完整路徑和文件名。您可以使用它來查找要打開的資源文件的相對路徑。

1.7或更高版本(1.7發佈於2012年12月17日),您可以從任何地方使用#include "BrowserPlugin.h"並使用BrowserPlugin::getFSPath()。從那裏它只是一個簡單的字符串操作,或者如果你想要更加完整/萬無一失,你可以使用boost :: filesystem

#include <BrowserPlugin.h> 
#include <boost/filesystem.hpp> 
using namespace boost::filesystem; 

// .... 

std::string getPluginDirPath() { 
    path pluginPath(BrowserPlugin::getFSPath()); 
    return pluginPath.parent_path().string(); 
} 
+0

非常感謝你!!!!! – user1871952

+0

嗨! getFSPath()將在其中包含.so即插件庫名稱的名稱。那麼我怎麼編輯它給我的文件名? – user1871952

+0

用示例代碼更新了答案,使用boost :: filesystem來完成它;當然,你也可以搜索最後的'/',並獲得一個子串。有很多方法可以做到這一點 – taxilian