/// <summary> /// 签名搜索; /// </summary> /// <param name="blDevice"></param> /// <param name="setting"></param> public static void SignSearch(IStreamFile streamFile) { var setting = CustomSignSearchService.GetSetting(); if (setting == null) { return; } var loadingDialog = DialogService.Current.CreateLoadingDialog(); loadingDialog.WindowTitle = LanguageService.FindResourceString(Constants.WindowTitle_CustomSignSearch); var part = FileFactory.CreatePartition(Constants.PartitionKey_CustomSignSearch); var partStoken = part.GetStoken(Constants.PartitionKey_CustomSignSearch); partStoken.BaseStream = streamFile.BaseStream; if (streamFile is IPartition streamPart) { partStoken.Name = $"{FileExtensions.GetPartFixAndName(streamPart)}-{LanguageService.FindResourceString(Constants.DocumentTitle_CustomSignSearch)}" + $"({CDFCCultures.Helpers.ByteConverterHelper.ConvertToHexFormat(setting.KeyWord)})"; } else { partStoken.Name = $"{streamFile.Name}-{LanguageService.FindResourceString(Constants.DocumentTitle_CustomSignSearch)}" + $"({CDFCCultures.Helpers.ByteConverterHelper.ConvertToHexFormat(setting.KeyWord)})"; } (long position, long size)[] fileBlocks = null;
GetStreamHexDocument(IStreamFile streamFile) { var mainDocService = DocumentService.MainDocumentService; if (mainDocService == null) { LoggerService.WriteCallerLine($"{nameof(mainDocService)} can't be null."); return(null); } var hexDoc = mainDocService.CreateNewDocument(); var hexService = ServiceProvider.Current.GetInstance <IHexService>(); if (hexService == null) { LoggerService.WriteCallerLine($"{nameof(hexService)} can't be null."); return(null); } var hexDataContext = hexService.CreateNewHexDataContext(streamFile?.BaseStream); hexDoc.SetInstance(hexDataContext, Contracts.Hex.Constants.Tag_HexDataContext); hexDoc.UIObject = hexDataContext.UIObject; hexDataContext.SetInstance <IFile>(streamFile, Contracts.FileExplorer.Constants.HexDataContextTag_File); //加载十六进制; hexService.LoadHexDataContext(hexDataContext); return(hexDoc, hexDataContext); }