我正在编写一个插件,它将在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在这里找不到真正的用户区域设置。 –