2012-12-19 4 views
0

firebreath를 사용하여 npapi 플러그인을 개발했습니다. 컴퓨터 내부에있는 하나의 이미지에 액세스하려고합니다. 플러그인 클래스에서 파일 경로를 제공하는 방법을 혼란 스럽거나 다른 지정된 폴더에 배치해야합니까 ?? 도와주세요.플러그인에서 파일 경로 지정

답변

2

메인 플러그인 객체 안에 getFSPath()을 호출하여 플러그인 .dll의 전체 경로와 파일 이름을 가져올 수 있습니다. 이를 사용하여 열려고하는 리소스 파일에 대한 상대 경로를 찾을 수 있습니다.

1.7 이상 (2012 년 12 월 17 일에 1.7이 출시 됨)에서 #include "BrowserPlugin.h"을 사용할 수 있으며 어디서나 BrowserPlugin::getFSPath()을 사용할 수 있습니다. 거기에서 그냥 단순한 문자열 조작, 또는 당신이 좀 더 완전 할 경우/당신은 그냥

#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