Hot News:

Unser Angebot:

  Foren auf CAD.de
  VBasic / vb.net / vbs / wsh
  dll soll exe beim Start ausführen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
Autor Thema:  dll soll exe beim Start ausführen (1736 mal gelesen)
Franzal
Mitglied



Sehen Sie sich das Profil von Franzal an!   Senden Sie eine Private Message an Franzal  Schreiben Sie einen Gästebucheintrag für Franzal

Beiträge: 63
Registriert: 21.07.2009

AutoCAD 2011 - 32 bit
Win XP Pro SP 3 -32 bit
2GB RAM

erstellt am: 18. Aug. 2011 16:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo allerseits,

vorweg, ich bin noch neu in der Sprache des vb. Ich hab nun eine dll erzeugt, die mir eine exe startet, wenn ich einen Befehl eingeben. Sieht folgendermaßen aus:

Imports Autodesk.AutoCAD.Runtime
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.DatabaseServices
Imports System.IO

Public Class clsAKSBlockInsert
    <CommandMethod("UpdateClient")> _
        Public Sub MyMethod()
        Dim WErt As New clsRegistrierung
        Dim StrPfad As String

        StrPfad = CStr(WErt.RegRead (2, "Software\Frech\CadProgram", "CADUpdate"))
        If File.Exists(StrPfad & "Updateclient.exe") Then
            Shell(StrPfad & "Updateclient.exe", AppWinStyle.NormalFocus)
        Else
            MsgBox(StrPfad & "Updateclient.exe" & vbCrLf & "Datei wurde nicht gefunden!" & vbCrLf & vbCrLf & "Registry prüfen.", MsgBoxStyle.Critical, "AKSBlockInsert.DLL")
        End If

    End Sub
End Class


Nun würd ich den Code aber gerne so abändern, dass diese exe nach dem Start von Autocad automatisch ausgeführt wird und nicht per Befehlaufruf. Kann man das umsetzen? Ich hab leider keine Idee wie ich das umsetzen könnte.

Mit freundlichen Grüßen

Franzal

[Diese Nachricht wurde von Franzal am 18. Aug. 2011 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles... i.R.



Sehen Sie sich das Profil von KMassler an!   Senden Sie eine Private Message an KMassler  Schreiben Sie einen Gästebucheintrag für KMassler

Beiträge: 2678
Registriert: 06.11.2000

erstellt am: 19. Aug. 2011 11:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Franzal 10 Unities + Antwort hilfreich

Hallo Franz,

ich kenne mich mit Programmierung für Autocad nicht aus, meine Progrämmchen sind für Solidworks.
Aber irgendwo gibt es Funktionen, die direkt nach (oder bei) dem Laden der DLL ausgeführt werden, da muss der Aufruf rein.
Bei mir- mit SolidWorks-SDK- wäre das z.B. die Funktion "ConnectToSW(...)".
Hier werden bei mir die Einstellungen vorgenommen, der Splash-Screen aufgerufen etc.
Sowas sollte es in deiner Autocad-DLL auch geben.

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat... | Nasenheim 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



Sehen Sie sich das Profil von CAD-Huebner an!   Senden Sie eine Private Message an CAD-Huebner  Schreiben Sie einen Gästebucheintrag für CAD-Huebner

Beiträge: 9808
Registriert: 01.12.2003

Alles zu Inventor - ADN Mitglied

erstellt am: 19. Aug. 2011 12:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Franzal 10 Unities + Antwort hilfreich

Wenn beim Laden der DLL gleich Code (z.B. eine Initinalisierung) ausgegeführt werden soll, kann man das  bei der Initialise() Methode durchführen lassen. http://through-the-interface.typepad.com/through_the_interface/2006/09/initialization_.html
Alternativ kann man auch in der DLL definierte Commands einfach in ein Startscript oder z.B. in eine ACADDOC.lsp eintragen.


------------------
Mit freundlichem Gruß

Udo Hübner
www.CAD-Huebner.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Franzal
Mitglied



Sehen Sie sich das Profil von Franzal an!   Senden Sie eine Private Message an Franzal  Schreiben Sie einen Gästebucheintrag für Franzal

Beiträge: 63
Registriert: 21.07.2009

AutoCAD 2011 - 32 bit
Win XP Pro SP 3 -32 bit
2GB RAM

erstellt am: 22. Aug. 2011 13:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke, hat mir etwas weiter geholfen!

LG Franzal

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Franzal
Mitglied



Sehen Sie sich das Profil von Franzal an!   Senden Sie eine Private Message an Franzal  Schreiben Sie einen Gästebucheintrag für Franzal

Beiträge: 63
Registriert: 21.07.2009

AutoCAD 2011 - 32 bit
Win XP Pro SP 3 -32 bit
2GB RAM

erstellt am: 23. Aug. 2011 10:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

So, jetzt muss ich mich nochmals melden. Ganz versteh ichs leider noch nicht.

also ich hab nun einfach den code kopiert, der auf der Seite ist, die du verlinkt hast - zwecks einfacheren Verständnis. Da ist alles klar. Nun hab ich noch gesucht wie ich einen Befehl direkt starten kann, hab ich auch gefunden. Nur hab ich jetzt das Problem - falls es überhaupt so funktionert, dass ich den Fehler bekomm: Der Typ "AcadApplication" ist nicht definiert.
Hier der Code:
Imports Autodesk.AutoCAD.Runtime
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.Runtime.Interop
Imports Autodesk.AutoCAD.EditorInput
Imports System
Public Class InitializationTest
    Implements Autodesk.AutoCAD.Runtime.IExtensionApplication
    Public Sub Initialize() Implements _
          IExtensionApplication.Initialize
        Dim app As AcadApplication = Application.AcadApplication
        Dim ed As Editor = _
            Application.DocumentManager.MdiActiveDocument.Editor()
        ed.WriteMessage("Initializing - do something useful.")
        app.ActiveDocument.SendCommand("TST" & vbCr)
    End Sub
    Public Sub Terminate() Implements _
          IExtensionApplication.Terminate
        Console.WriteLine("Cleaning up...")
    End Sub
    <CommandMethod("TST")> _
    Public Sub Test()
        Dim ed As Editor = _
            Application.DocumentManager.MdiActiveDocument.Editor()
        ed.WriteMessage("This is the TST command.")
    End Sub
End Class

Wie kann ich nun diesen typ laden, oder kann ich das anders umsetzen, dass ich einen Befehl starten kann?

Mfg Franzal

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz