推荐一个比较好用的PC端office在线编辑控件dsoframer.ocx
目前,本人找到的最新版本是2.3.0.2。实测改版本的控件还是比较稳定的,因此,使用NSIS将其打包成了静默安装的EXE
附打包源码
;Written by Gaofeng
;--------------------------------
;Include Modern UI
!include "MUI2.nsh"
!include "LogicLib.nsh"
;--------------------------------
;General
;Name and file
Name "DSOframer"
OutFile "DSOframer.exe"
;Default installation folder
InstallDir "$SYSDIR"
;Request application privileges for Windows Vista
RequestExecutionLevel admin
;--------------------------------
;Interface Settings
!define MUI_ABORTWARNING
;--------------------------------
;Pages
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
;--------------------------------
;Languages
!insertmacro MUI_LANGUAGE "SimpChinese"
;--------------------------------
;Installer Sections
SilentInstall silent
Section "dsoframer" SecDXCapture
SetOutPath "$INSTDIR\dso"
File dsoframer.ocx
;pdf签章插件
RegDLL "$INSTDIR\dso\dsoframer.ocx"
Exec "regedit.exe /s $INSTDIR\dso\dsoframer.ocx"
WriteRegStr HKCU "Software\DSOframer\device" "{00460182-9E5E-11d5-B7C8-B8269041DD57}" "2.3.0.2"
;LogSet on
SectionEnd
附ocx接口及属性
Activate [INVOKE_FUNC] 00004709
ActiveDocument [INVOKE_PROPERTYGET] 00004761
CreateNew [INVOKE_FUNC] 000048AA
Open [INVOKE_FUNC] 00004E5D
Save [INVOKE_FUNC] 0000574B
_PrintOutOld [INVOKE_FUNC] 0000DCF2
Close [INVOKE_FUNC] 00005984
Caption [INVOKE_PROPERTYPUT] 00005EB4
Caption [INVOKE_PROPERTYGET] 00005F6C
Titlebar [INVOKE_PROPERTYPUT] 00005F99
Titlebar [INVOKE_PROPERTYGET] 00005FED
Toolbars [INVOKE_PROPERTYPUT] 00006011
Toolbars [INVOKE_PROPERTYGET] 00006081
ModalState [INVOKE_PROPERTYPUT] 000060A5
ModalState [INVOKE_PROPERTYGET] 000060EF
ShowDialog [INVOKE_FUNC] 00006113
EnableFileCommand [INVOKE_PROPERTYPUT] 00006191
EnableFileCommand [INVOKE_PROPERTYGET] 000061FE
BorderStyle [INVOKE_PROPERTYPUT] 0000623A
BorderStyle [INVOKE_PROPERTYGET] 0000629D
BorderColor [INVOKE_PROPERTYPUT] 000062BC
BorderColor [INVOKE_PROPERTYGET] 000062E5
BackColor [INVOKE_PROPERTYPUT] 000062FE
BackColor [INVOKE_PROPERTYGET] 00006327
ForeColor [INVOKE_PROPERTYPUT] 00006340
ForeColor [INVOKE_PROPERTYGET] 00006369
TitlebarColor [INVOKE_PROPERTYPUT] 00006382
TitlebarColor [INVOKE_PROPERTYGET] 000063AB
TitlebarTextColor [INVOKE_PROPERTYPUT] 000063C4
TitlebarTextColor [INVOKE_PROPERTYGET] 000063ED
ExecOleCommand [INVOKE_FUNC] 000047D7
Menubar [INVOKE_PROPERTYPUT] 00006406
Menubar [INVOKE_PROPERTYGET] 00006460
HostName [INVOKE_PROPERTYPUT] 00006484
HostName [INVOKE_PROPERTYGET] 000064CA
DocumentFullName [INVOKE_PROPERTYGET] 000064F5
PrintOut [INVOKE_FUNC] 0000DD4E
PrintPreview [INVOKE_FUNC] 0000DE80
PrintPreviewExit [INVOKE_FUNC] 0000DEC7
IsReadOnly [INVOKE_PROPERTYGET] 00006534
IsDirty [INVOKE_PROPERTYGET] 00006572
HttpInit [INVOKE_FUNC] 0000E7C7
HttpAddPostString [INVOKE_FUNC] 0000EECF
HttpPost [INVOKE_FUNC] 0000EF76
SetTrackRevisions [INVOKE_FUNC] 0000E5AF
SetCurrUserName [INVOKE_FUNC] 0000E42B
HttpAddPostCurrFile [INVOKE_FUNC] 0000E837
SetCurrTime [INVOKE_FUNC] 0000E671
GetApplication [INVOKE_PROPERTYGET] 0000E3DB
SetFieldValue [INVOKE_FUNC] 0000F898
GetFieldValue [INVOKE_FUNC] 0000F5FF
SetMenuDisplay [INVOKE_FUNC] 00010C04
ProtectDoc [INVOKE_FUNC] 000105A3
ShowRevisions [INVOKE_FUNC] 00010C22
InSertFile [INVOKE_FUNC] 00010D44
LoadOriginalFile [INVOKE_FUNC] 0001146C
SaveAs [INVOKE_FUNC] 000115B3
DeleteLocalFile [INVOKE_FUNC] 00011DDE
GetTempFilePath [INVOKE_FUNC] 00011E30
ShowView [INVOKE_FUNC] 00011EB9
FtpConnect [INVOKE_FUNC] 0000F447
FtpGetFile [INVOKE_FUNC] 0000F51A
FtpPutFile [INVOKE_FUNC] 0000F56C
FtpDisConnect [INVOKE_FUNC] 0000F5B7
DownloadFile [INVOKE_FUNC] 00012088
HttpAddPostFile [INVOKE_FUNC] 0000EE39
GetRevCount [INVOKE_FUNC] 00012202
GetRevInfo [INVOKE_FUNC] 00012306
SetValue [INVOKE_FUNC] 0001257E
SetDocVariable [INVOKE_FUNC] 0001273C
SetPageAs [INVOKE_FUNC] 00012AEE
ReplaceText [INVOKE_FUNC] 00012E46
GetEnvironmentVariable [INVOKE_FUNC] 000131CC
GetOfficeVersion [INVOKE_FUNC] 00013257
[Interface _FramerControl(1/2)] 50 Functions
[1610612736]Void QueryInterface(Type riid, Pointer ppvObj)
[1610612737]LongWord AddRef()
[1610612738]LongWord Release()
[1610678272]Void GetTypeInfoCount(LongWord pctinfo)
[1610678273]Void GetTypeInfo(LongWord itinfo, LongWord lcid, Pointer pptinfo)
[1610678274]Void GetIDsOfNames(Type riid, Pointer rgszNames, LongWord cNames, LongWord lcid, Integer rgdispid)
[1610678275]Void Invoke(Integer dispidMember, Type riid, LongWord lcid, Word wFlags, Type pdispparams, Variant pvarResult, Type pexcepinfo, LongWord puArgErr)
[65537]Void Activate()
[65539]Void CreateNew(String ProgIdOrTemplate)
[65540]Void Open(Variant Document, Variant ReadOnly, Variant ProgId, Variant WebUsername, Variant WebPassword)
[65541]Void Save(Variant SaveAsDocument, Variant OverwriteExisting, Variant WebUsername, Variant WebPassword)
[65544]Void _PrintOutOld(Variant PromptToSelectPrinter)
[65545]Void Close()
[65550]Void ShowDialog(Type DlgType)
[65554]Void ExecOleCommand(Integer OLECMDID, Variant Options, Variant vInParam, Variant vInOutParam)
[65558]Void PrintOut(Variant PromptUser, Variant PrinterName, Variant Copies, Variant FromPage, Variant ToPage, Variant OutputFile)
[65559]Void PrintPreview()
[65560]Void PrintPreviewExit()
[65563]Boolean HttpInit()
[65564]Boolean HttpAddPostString(String strName, String strValue)
[65565]String HttpPost(String bstr)
[65567]Boolean SetTrackRevisions(Integer vbool)
[65568]Boolean SetCurrUserName(String strCurrUserName)
[65569]Boolean HttpAddPostCurrFile(String strFileID, String strFileName)
[65570]Boolean SetCurrTime(String strValue)
[65572]Boolean SetFieldValue(String strFieldName, String strValue, String strCmdOrSheetName)
[65573]String GetFieldValue(String strFieldName, String strCmdOrSheetName)
[65574]Boolean SetMenuDisplay(Integer lMenuFlag)
[65575]Boolean ProtectDoc(Integer lProOrUn, Integer lProType, String strProPWD)
[65576]Boolean ShowRevisions(Integer nNewValue)
[65577]Boolean InSertFile(String strFieldPath, Integer lPos)
[65584]Integer LoadOriginalFile(Variant strFieldPath, Variant strFileType)
[65585]Integer SaveAs(Variant strFileName, Variant dwFileFormat)
[65586]Void DeleteLocalFile(String strFilePath)
[65587]String GetTempFilePath()
[65588]Integer ShowView(Integer dwViewType)
[65589]Integer FtpConnect(String strURL, Integer lPort, String strUser, String strPwd)
[65590]Integer FtpGetFile(String strRemoteFile, String strLocalFile)
[65591]Integer FtpPutFile(String strLocalFile, String strRemoteFile, Integer blOverWrite)
[65592]Integer FtpDisConnect()
[65593]String DownloadFile(String strRemoteFile, String strLocalFile)
[65600]Integer HttpAddPostFile(String strFileID, String strFileName)
[65601]Integer GetRevCount()
[65602]String GetRevInfo(Integer lIndex, Integer lType)
[65603]Integer SetValue(String strValue, String strName)
[65604]Integer SetDocVariable(String strVarName, String strValue, Integer lOpt)
[65605]Integer SetPageAs(String strLocalFile, Integer lPageNum, Integer lType)
[65609]Integer ReplaceText(String strSearchText, String strReplaceText, Integer lGradation)
[65616]String GetEnvironmentVariable(String EnvironmentName)
[65617]String GetOfficeVersion(String strName)
网友评论