我正在編寫一個插件,它將在pluginreg.dat
文件中進入[INVALID]
部分。我認爲我的npplugin.rc
文件存在問題。NPAPI插件無法在Firefox中加載
在npplugin.def
文件的一切是正確的:
LIBRARY
EXPORTS
NP_GetEntryPoints @1
NP_Initialize @2
NP_Shutdown @3
但無論NP_GetEntryPoints
也不NP_Initialize
被調用。
要安裝插件,我把它放到%APPDATA%/Mozilla/plugins
目錄中。
這裏是npplugin.rc
代碼:
// Microsoft Visual C++ generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
#if 0
/////////////////////////////////////////////////////////////////////////////
// Russian (Russia) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
#endif // Russian (Russia) resources
/////////////////////////////////////////////////////////////////////////////
#endif
/////////////////////////////////////////////////////////////////////////////
// English (United States) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 4,5
PRODUCTVERSION 4,5
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x40004L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", "MyCompany Ltd."
VALUE "FileExtents", "myext"
VALUE "FileOpenName", "My File"
VALUE "FileDescription", "NPPlugin for me"
VALUE "FileVersion", "4.5"
VALUE "InternalName", "npMyPlugin"
VALUE "Language", "English (United States)"
VALUE "LegalCopyright", "Copyright (C) MyCompany Ltd. 2012"
VALUE "MIMEType", "application/x-myplugin"
VALUE "OriginalFilename", "npMyPlugin.dll"
VALUE "ProductName", "My NPPlugin"
VALUE "ProductVersion", "4.5"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
#endif // English (United States) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
我的問題是其中一個錯誤或缺什麼?
資源文件無可否認有點奇怪。 '040904e4'是本地化(語言='409' =英文,codepage ='4e4' =西文)。有一些文檔[這裏](http://msdn.microsoft.com/en-us/library/windows/desktop/ms647464(v = vs.85).aspx)。 Firefox在這裏找不到真正的用戶區域設置。 –