[VB.Net TO C#] Delegate WinProch

giovedì 04 febbraio 2016 - 10.39
Tag Elenco Tags  C#  |  VB.NET  |  .NET 4.0

Mrk31 Profilo | Newbie

Ciao a tutti,
dovrei portare in c# del codice Vb.Net, per la comunicazione tramite USB...
In particolare devo "intercettare" il medodo WinProc tramite delegate, il codice VB è questo:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

...
Private Ref_WinProc As New SubClassProcDelegate(AddressOf WinProc)
...
Public Function ConnectToHID(ByRef targetForm As Form) As Boolean Dim pHostWin As Integer = targetForm.Handle.ToInt32 FWinHandle = pHostWin pHostWin = hidConnect(FWinHandle) FPrevWinProc = DelegateSetWindowLong(FWinHandle, GWL_WNDPROC, Ref_WinProc) HostForm = targetForm End Function
L'ho tradotto in questo modo:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

la dichiarazione di SubClassProcDelegate mi da errore dicendo che il metodo deve avere un tipo restituito (ed io ho appunto messo int)

private SubClassProcDelegate Ref_WinProc = new SubClassProcDelegate(WndProc);

Mi da errore perchè non so come tradutte l'AddressOf e lasciando solamente WndProc non mi va ontretutto non so come settare la "using" per farglielo riconoscere?

public HIDDLLInterface(ref Form targetForm) { HostForm = targetForm; FWinHandle = targetForm.Handle.ToInt32(); FPrevWinProc = delegateSetWindowLong(FWinHandle, GWL_WNDPROC, Ref_WinProc); }

Qualcuno ha idea di come fare? Esiste WinProc in C# perchè io ho trovato solamente WndProc, ma ha una firma diversa (un solo parametro da passare...)
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5