2010-03-25 12 views
11

Ho bisogno possibilità di visualizzare i contenuti in visualizzazione esadecimale, come questo da WinHexConsigli per un controllo visualizzatore esadecimale per Windows.Forms?

Offset  0 1 2 3 4 5 6 7 8 9 A B C D E F 
00000000 EF BB BF 0D 0A 4D 69 63 72 6F 73 6F 66 74 20 56 ..Microsoft V 
00000010 69 73 75 61 6C 20 53 74 75 64 69 6F 20 53 6F 6C isual Studio Sol 
00000020 75 74 69 6F 6E 20 46 69 6C 65 2C 20 46 6F 72 6D ution File, Form 
00000030 61 74 20 56 65 72 73 69 6F 6E 20 31 30 2E 30 30 at Version 10.00 
00000040 0D 0A 23 20 56 69 73 75 61 6C 20 53 74 75 64 69 ..# Visual Studi 
00000050 6F 20 32 30 30 38 0D 0A 50 72 6F 6A 65 63 74 28 o 2008..Project(
00000060 22 7B 46 31 38 34 42 30 38 46 2D 43 38 31 43 2D "{F184B08F-C81C- 
00000070 34 35 46 36 2D 41 35 37 46 2D 35 41 42 44 39 39 45F6-A57F-5ABD99 

prega di raccomandare un controllo. Grazie.

risposta

5

ho sempre usato http://sourceforge.net/projects/hexbox/ che ha un controllo di HexEditor, ma può essere utilizzato anche in modalità di sola lettura.

+0

Sembra richiedere un file esterno come input. C'è qualcosa che può richiedere un Byte Array come input? Preferisco non dover scrivere su un file temporaneo per poterlo leggere di nuovo. – Tom

+0

Sì, è possibile utilizzare DynamicByteProvider che ha un costruttore supportato da una matrice di byte e imposta la proprietà ByteProvider. – tyranid

1

Si può provare l'editor esadecimale da questo progetto: http://sourceforge.net/projects/serialwizard/

Adriano

+0

Perfetto! Grazie mille. –

+0

Prego. Spero che questo funzioni bene per te. Se non funziona, scrivimi una riga (adriano su db4o dot com) e possiamo provare a risolvere il problema insieme. – Vagaus

1

È possibile provare il mio semplice progetto HexView controllo a

http://simplehexviewcontrol.codeplex.com/

semplice HexControl (HexView) è un classico controllo Windows Form. Implementa una visualizzazione esadecimale di byte con raggruppamento. È velocissimo, rende solo il frame visibile di una finestra e supporta la pittura dei singoli gruppi di byte senza il ridisegno della finestra totale.

enter image description here enter image description here

21

C'è un ByteViewer Control direttamente disponibili in .NET Framework. Ecco come è possibile utilizzarlo in un campione WinForms C# applicazione (nota: è necessario fare riferimento all'assemblea System.Design):

public Form1() 
{ 
    InitializeComponent(); 
    ... 
    ByteViewer bv = new ByteViewer(); 
    bv.SetFile(@"c:\windows\notepad.exe"); // or SetBytes 
    Controls.Add(bv); 
} 

E qui è come sembra:

enter image description here

+3

Sei, praticamente, l'unica persona che menziona questo nell'intero web. È un controllo veloce e accurato. Non massicciamente estensibile, forse perché non è menzionato molto. Comunque, grazie! – TEK

+0

Questo è ottimo, ma non riesco a trovarlo anche dopo aver aggiunto il riferimento 'System.ComponentModel.Design', sto usando winform in C#. – Omarrrio

+2

@Omarrrio - leggere attentamente la risposta, è necessario aggiungere un assembly di riferimento (dll), non solo uno spazio dei nomi –

2

È può usare il controllo Wexf HexEditor su GitHub/Nuget. Può essere utilizzato nell'applicazione WPF o WinForm.

Un controllo utente Wpf veloce e completamente personalizzabile per la modifica di file o flusso come esadecimale.

https://github.com/abbaye/WPFHexEditorControl

<!-- XAML --> 
<Control:HexaEditor/> 
<Control:HexaEditor Width="NaN" Height="NaN"/> 
<Control:HexaEditor Width="Auto" Height="Auto"/> 
<Control:HexaEditor FileName={Binding FileNamePath} Width="Auto" Height="Auto"/> 

Image1

Problemi correlati