Plugins 给出插件中的文件路径

Plugins 给出插件中的文件路径,plugins,browser,npapi,firebreath,clutter,Plugins,Browser,Npapi,Firebreath,Clutter,我使用firebreath开发了npapi插件。我想访问计算机内部的一个图像。我不知道如何在插件类中给出文件路径,或者我需要将其放置在其他指定文件夹中??请提供帮助。在主插件对象中,您可以调用()以获取plugin.dll的完整路径和文件名。您可以使用它来查找要打开的资源文件的相对路径 在1.7或更高版本(1.7于2012年12月17日发布)中,您可以#包括“BrowserPlugin.h”并在任何地方使用BrowserPlugin::getFSPath()。从这里开始,它只是一个简单的字符串操

我使用firebreath开发了npapi插件。我想访问计算机内部的一个图像。我不知道如何在插件类中给出文件路径,或者我需要将其放置在其他指定文件夹中??请提供帮助。

在主插件对象中,您可以调用()以获取plugin.dll的完整路径和文件名。您可以使用它来查找要打开的资源文件的相对路径

在1.7或更高版本(1.7于2012年12月17日发布)中,您可以
#包括“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();
}
#包括
#包括
使用名称空间boost::filesystem;
// ....
std::string getPluginDirPath(){
路径插件路径(BrowserPlugin::getFSPath());
返回pluginPath.parent_path().string();
}

Hi!!getFSPath()将包含.so的名称,即插件库名称。那么我如何编辑它来给它我的文件名呢?用示例代码更新了答案,用boost::filesystem来完成;当然,您也可以搜索最后一个“/”,并将子字符串添加到该点。有很多方法可以做到这一点。这正是我需要的!