VB.NET Tutorial 37 - Administratorrechte/dll einkompilieren - erstellen

preview_player
Показать описание

═══════════════════
Ihr könnt die Projekte öffnen, indem ihr die .sln Datei im ersten Verzeichnis doppelt anklickt. (Dazu müsst ihr Visual Studio 2010 installiert haben.)

Private WithEvents Domaene As AppDomain = AppDomain.CurrentDomain
Private Function Domaene_AssemblyResolve(ByVal sender As Object, ByVal args As System.ResolveEventArgs) As System.Reflection.Assembly Handles Domaene.AssemblyResolve
If args.Name.Contains("NamederDLL") Then
Return System.Reflection.Assembly.Load(My.Resources.NamederDLL)
Else
Return Nothing
End If
End Function

In diesem Videotutorial zeige ich euch wie man eine Funktion schreibt die überprüft ob der jeweilig angemeldete Benutzer Admin. Rechte hat. Desweiteren wird vorgestellt, wie man diese Funktion in eine dll (Dynamic-Link-Library) "verpackt" und daraus weiter verwenden kann.
Ein kleiner zusätzlicher Trick in Sachen dlls ist auch noch enthalten und zwar wie ihr die dlls mit in die .exe einkompiliert. Somit braucht ihr diese .dll Datei nicht immer mit eurem Programm verschicken, sondern nur die daraus kommende .exe Datei.
Рекомендации по теме
Комментарии
Автор

Der Sinn einer DLL ist das Verfügungstellen von Funktionen über eine externe Datei. Sie hat z.B. die Vorteile:
-Funktionen und Methoden für mehrere Programme nutzbar zu machen.
-Man kann mit verschiedenen Programmiersprachen auf die Funktionen zugreifen.
-Die DLL leicht austauschen.
Du hast erwähnt, dass man eine DLL auch ganz einfach mit einer Klasse austauschen könnte. Du musst aber beachten, dass viele DLL aus dutzende Klassen bestehen, die man nicht so einfach in das Projekt importieren kann

BehindTheBackground
Автор

@DieLocalgamer Vielen Dank für die Erinnerung, habs nachgeholt :).

RobbelRoot
Автор

@Larsi1997 Der Sinn einer dll Datei liegt darin, anderen Programmierern es möglich zu machen deinen Code zu benutzen ohne ihn zu sehen. Du kannst aus einer dll Funktionen aufrufen, ohne den Code davon zu sehen. Mit dem gezeigten Trick kannst du diesen Vorteil weiterhin nutzen, jedoch brauchst du die dll's nicht in Einzelteilen mitliefern.

Mfg Rob

RobbelRoot
Автор

Japp, das reicht aus, habe allerdings die Methode gewählt, weil es für Anfänger einfacher ist die Logik hinter dem ganzen zu verstehen ;)!

RobbelRoot
Автор

@TheChrisAnders würdest du das bitte nochmal verständlicher formulieren :D?

RobbelRoot
Автор

@RobbelRoot Und wie soll man auf die Funktionen in der DLL zugreifen wenn sie im Programm einkompilliert ist? Das kann dann nur noch das Programm selbst und dann Kann man auch einfach eine neue Klasse hinzufügen das ist nämlich einfacher.

Larsi
Автор

Wie kann ich eine DLL die Rechte zuweisen, auf ein externes Programm, das die DLL benutzt, die Textboxen zu lesen?

ThePrinzKassad
Автор

Aber wenn man die DLL datei in dr Exe mit Kompeliert dann geht doch der Sinn ver loren dafür kann man auch einfach eine neue Klasse erstellen und da den Code reinschreiben

Larsi
Автор

Wozu das? Du musst die Dll doch nicht auf eine Tb zugreifen lassen, übergebe in der Funktion der Dll doch einfach den Tb-Inhalt als String!?

RobbelRoot
Автор

Also, das soll die Dll mindestens können:
For i = 0 To (TextBox1.Length - 1)
If TextBox1(i) = "a" Then TextBox2.Text = TextBox2.Text & "b"
next i

ThePrinzKassad
Автор

Wieso steht bei dem namen von Video 2012 wenns die 2010 Version ist ??

Clemensk
Автор

Hab ich versuch aber danach kommt bei mir "Textbox1.text" und da kommt der nächste Fehler

ThePrinzKassad
Автор

Für jede dll in die App-Domäne eine ElseIf einfügen!?

RobbelRoot
Автор

Visual Basic 2010 = Msgbox("Test")
Visual Basic 2012 = Msgbox("Test")
Problem?

RobbelRoot
Автор

Mein Lieber Virenscanner sagt beim Debug:

BlaBlaBla Trojaner/Dropper oder so
denkt es wäre ein Virus

KaisaFighter
Автор

@Larsi1997 Tut mir leid, aber wenn du davon keine Ahnung hast dann unterlasse bitte solche Aussagen. Wenn man wie oben gezeigt eine neue Instanz einer dll erstellt kann man per Namespace auf dessen Funktionen zugreifen. Aber wie gesagt sieht man den Quellcode der Funktionen nicht, kann diese aber benutzen. Wenn man zusätzlich noch derjenige ist der die gecodet hat, kann man diese in jedem Projekt einbinden ohne jedes mal den Quellcode zu kopieren und einzufügen. Wie mans macht.. Ist seine Sache.

RobbelRoot
Автор

kann schon sein, dass das AV das denkt.

RobbelRoot
Автор

Dann machst du ganz klar was falsch, was ich aber von hier nicht beurteilen kann.

RobbelRoot