vb.netコードを完全にc#コードに変換していないので、vb.net dllを作成してC#フォームに追加することにしました。C#でvb.net dllを使用します。 vb.net dllからC#形式のオブジェクトにアクセスするには?
しかし、私はこのdllについて新しいことを教えてください。そして、C#形式のオブジェクトにアクセスする方法はわかりません。私はdllのためにやったように、dllの参照にC#アプリケーションを追加しました。しかし、私はまだC#アプリケーションにある2つのラベルとタイマーにアクセスできません。
は、これは私がC#のを変換しようとした
Public Class Class1
Public Sub Bypass(block1 As String, block2 As String, ok1 As String, ok2 As String)
Try
Dim folderPath As String = Environment.GetFolderPath(SpecialFolder.Windows)
FileSystem.FileClose(New Integer() {1})
FileSystem.FileClose(New Integer() {2})
If My.Computer.FileSystem.FileExists((folderPath & "\xspirit.sys")) Then
FileSystem.FileOpen(1, (folderPath & "\xspirit.sys"), OpenMode.Append, OpenAccess.ReadWrite, OpenShare.LockReadWrite, -1)
Else
File.WriteAllBytes((folderPath & "\xspirit.sys"), New Byte() {0})
FileSystem.FileOpen(1, (folderPath & "\xspirit.sys"), OpenMode.Append, OpenAccess.ReadWrite, OpenShare.LockReadWrite, -1)
block1 = "Erişim Engellendi"
MsgBox("Erişim Engellendi xspirit")
End If
If My.Computer.FileSystem.FileExists((folderPath & "\xhunter1.sys")) Then
FileSystem.FileOpen(2, (folderPath & "\xhunter1.sys"), OpenMode.Append, OpenAccess.ReadWrite, OpenShare.LockReadWrite, -1)
Else
File.WriteAllBytes((folderPath & "\xhunter1.sys"), New Byte() {0})
FileSystem.FileOpen(2, (folderPath & "\xhunter1.sys"), OpenMode.Append, OpenAccess.ReadWrite, OpenShare.LockReadWrite, -1)
block2 = "Erişim Engellendi"
MsgBox("Erişim Engellendi xhunter1")
End If
Catch exception1 As Exception
ProjectData.SetProjectError(exception1)
Dim ex As Exception = exception1
ProjectData.SetProjectError(ex)
Dim exception As Exception = ex
ProjectData.ClearProjectError()
ProjectData.ClearProjectError()
End Try
Dim p As Process()
p = Process.GetProcessesByName("Wolfteam.bin") 'set wolfteam process
If p.Count = 1 Then ' if wolfteam process detected
ok1 = "XignCode Clear Başarılı"
ok2 = "XignCode Clear Başarılı"
MsgBox("XignCode Clear Başarılı xspirit")
MsgBox("XignCode Clear Başarılı xhunter1")
End If
End Sub
End Class
私vb.netのDLLですが、私は完全にそれを行うカントので、私はこのコードで私のDLLからオブジェクトにアクセスしようとしましたが、私が行うことができませんでしたそれは(私は参考にそれを追加しました)。私は実際にこれを書きたかった(ここまではその大丈夫しかし、私はこのcode.Itはそれの残りの部分を受け入れていない継続カント)
C#app.Form1
:
C#app.Form1.Timer1.Enabled = False or C#app.Form1.label1.Text = "test"
私は試しました:
Dim test1 As String="test"
'then acces them from C# and then:
vbnetdll.Class1 tt = new vbnetdll.Class1();
label1.Text=f.vbmethod.test1;
しかし、私はこれを行うことができませんでした。それは受け入れないので。なにが問題ですか?デフォルトでは
あなたの質問に答えるのは申し訳ありませんが、なぜすべてを翻訳できないのか不思議です。 翻訳機を試しましたか? –
全く違いはありません。 C#とVB.NetはどちらもMSILにコンパイルされます。あなたはちょうどdllを参照し、他のC#dllのようにそのオブジェクトを使い始めます。 – coding4fun
ええ、実際にはうまくいきませんでした:/私は自分で翻訳しようとしましたが、どこでも翻訳できませんでした。私はdllを追加することができますが、とにかく感謝を知っています。しかし、私は何かdiffirentを尋ねました。) – SodaX