; --------------------------------------------------------------------------------------------; Copyright (c) Fantaisie Software. All rights reserved.; Dual licensed under the GPL and Fantaisie Software licenses.; See LICENSE and LICENSE-FANTAISIE in the project root for license information.; --------------------------------------------------------------------------------------------;windows onlyCompilerIf #CompileWindowsInterface IMSHelp20QueryInterface(a.l, b.l)AddRef()Release()GetTypeInfoCount(a.l)GetTypeInfo(a.l, b.l, c.l)GetIDsOfNames(a.l, b.l, c.l, d.l, e.l)Invoke(a.l, b.l, c.l, d.l, e.l, f.l, g.l, h.l)Contents()Index()Search()IndexResults()SearchResults()DisplayTopicFromId(a.l, b.l)DisplayTopicFromURL(a.l)DisplayTopicFromURLEx(a.l, b.l)DisplayTopicFromKeyword(a.l)DisplayTopicFromF1Keyword(a.l)DisplayTopicFrom_OLD_Help(a.l, b.l)SyncContents(a.l)CanSyncContents(a.l)GetNextTopic(a.l, b.l)GetPrevTopic(a.l, b.l)FilterUI()CanShowFilterUI()Close()SyncIndex(a.l, b.l)SetCollection(a.l, b.l)GetCollection(a.l)GetFilter(a.l)SetFilter(a.l)FilterQuery(a.l)GetHelpOwner(a.l)SetHelpOwner(a.l)HxSession(a.l)Help(a.l)GetObject(a.l, b.l, c.l)EndInterfaceGlobal PlatformSDKObject.IMSHelp20, PlatformSDKHelpString$DataSectionIID_IMSHelp20: ; 4A791148-19E4-11D3-B86B-00C04F79F802Data.l 4ドルA791148Data.w 19ドルE4, 11ドルD3Data.b $B8, 6ドルB, 00,ドル $C0, 4ドルF, 79,ドル $F8, 02ドルEndDataSectionProcedure.l IsPlatformSDKAvailable()IsAvailable = 0If RegCreateKeyEx_(#HKEY_CURRENT_USER, "Software\Microsoft\MSDN7円.0\Help", 0, #Null,ドル #REG_OPTION_NON_VOLATILE, #KEY_READ , 0, @NewKey, @KeyInfo) = #ERROR_SUCCESSIndex = 0RepeatValueName$ = Space(260)ValueNameSize = 260ValueData$ = Space(260)ValueDataSize = 260Result = RegEnumValue_(NewKey, Index, @ValueName,ドル @ValueNameSize, 0, @ValueType, 0, 0)If Result = #ERROR_SUCCESS And ValueType = #REG_SZIf Left(LCase(ValueName$),18) = "ms-help://ms.psdk." ; current version: ms-help://MS.PSDK.1033PlatformSDKHelpString$ = ValueName$IsAvailable = 1; do not break here, as the below (newer) key might be present too!ElseIf Left(UCase(ValueName$),27) = "MS-HELP://MS.PSDKSVR2003SP1" ; current version: ms-help://MS.PSDKSVR2003SP1.1033PlatformSDKHelpString$ = ValueName$IsAvailable = 1Break ; this one has priority, so abort nowEndIfEndIfIndex + 1Until Result <> #ERROR_SUCCESSRegCloseKey_(NewKey)EndIfProcedureReturn IsAvailableEndProcedureProcedure.l DisplayPlatformSDKHelp(Keyword$)Success = 0If PlatformSDKObject = 0If PlatformSDKHelpString$ Or IsPlatformSDKAvailable()CoInitialize_(0)CLSIDFromProgID_("DExplore.AppObj", @CLSID_DExplore.CLSID)If CoCreateInstance_(@CLSID_Dexplore, 0, 4, ?IID_IMSHelp20, @PlatformSDKObject) = #S_OKHelpSelection$ = PlatformSDKHelpString$BSTR_HelpSelection = SysAllocString_(@HelpSelection$)NullString_UNICODE$ = ""BSTR_NullString = SysAllocString_(@NullString_UNICODE$)PlatformSDKObject\SetCollection(BSTR_HelpSelection, BSTR_NullString)SysFreeString_(BSTR_HelpSelection)SysFreeString_(BSTR_NullString)EndIfEndIfEndIfIf PlatformSDKObject <> 0BSTR_Keyword = SysAllocString_(@Keyword$)PlatformSDKObject\Contents()If PlatformSDKObject\DisplayTopicFromF1Keyword(BSTR_Keyword) = #S_OKPlatformSDKObject\SyncIndex(BSTR_Keyword, 1)PlatformSDKObject\Index()Success = 1EndIfSysFreeString_(BSTR_Keyword)EndIfProcedureReturn SuccessEndProcedureProcedure ClosePlatformSDKWindow()If PlatformSDKObject <> 0PlatformSDKObject\Release()CoUninitialize_()EndIfEndProcedureProcedure HtmlHelp(File,ドル Page$); Open the help tool if configured to do so, or html help otherwise;If UseHelpToolF1 And HelpToolOpenIf Page$ = ""Page$ = "/Reference/reference.html"ElseIf Left(Page,ドル 1) <> "/"Page$ = "/" + Page$EndIfSetGadgetText(#GADGET_HelpTool_Viewer, "mk:@MSITStore:" + File$ + "::" + Page$)ActivateTool("HelpTool") ; switches to the toolElseOpenHelp(File,ドル Page$)EndIfEndProcedureProcedure DisplayHelp(CurrentWord$)If *ActiveSource\EnableASM And IsASMKeyword(CurrentWord$) And Asc(UCase(CurrentWord$)) = 'F' And FileSize(PureBasicPath$+"Help\ASMFPU.hlp") > 0OpenHelp(PureBasicPath$+"Help\ASMFPU.hlp", CurrentWord$)ElseIf *ActiveSource\EnableASM And IsASMKeyword(CurrentWord$) And FileSize(PureBasicPath$+"Help\ASM.hlp") > 0OpenHelp(PureBasicPath$+"Help\ASM.hlp", CurrentWord$)ElseIf CurrentWord$ = ""HtmlHelp(PureBasicPath$ + #ProductName$ + ".chm", "")ElseIf CheckPureBasicKeyWords(CurrentWord$) <> ""HtmlHelp(PureBasicPath$ + #ProductName$ + ".chm", CheckPureBasicKeyWords(CurrentWord$)+".html")ElseForceDefaultCompiler()If CompilerReadyCompilerWrite("HELPDIRECTORY"+Chr(9)+CurrentWord$)HelpDirectory$ = CompilerRead()If HelpDirectory$ = "API"CurrentWord$ = Left(CurrentWord,ドル Len(CurrentWord$)-1) ; cut the '_'If FileSize(PureBasicpath$+"Help\Win32.hlp") > 0OpenHelp(PureBasicpath$+"Help\Win32.hlp", CurrentWord$)ElseIf DisplayPlatformSDKHelp(CurrentWord$) = 0HtmlHelp(PureBasicPath$+#ProductName$ + ".chm", "") ; Fallback to PB help if all API help failEndIfEndIfElseIf HelpDirectory$ = "UNKNOWN"HtmlHelp(PureBasicPath$+#ProductName$ + ".chm", "")Else ; build in command or userlibIf LCase(GetExtensionPart(HelpDirectory$)) = "chm" ; A .chm has been defined in the .DESC -> It's a user lib with its own helpHtmlHelp(PureBasicPath$+"Help\"+HelpDirectory,ドル GetFilePart(HelpDirectory,ドル #PB_FileSystem_NoExtension)+"/"+CurrentWord$+".html")ElseHtmlHelp(PureBasicPath$+#ProductName$ + ".chm", HelpDirectory$+"/"+CurrentWord$+".html")EndIfEndIfEndIfEndIfEndProcedureCompilerEndIf
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。