Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Pfad der ACAD.EXE aus Registry auslesen

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Pfad der ACAD.EXE aus Registry auslesen (5777 mal gelesen)
WolfgangSCH
Mitglied



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

Beiträge: 145
Registriert: 01.10.2002

AutoCAD 2021 64-bit
Windows 10 64-bit Home Premium
AMD Phenom II X6 1055T, 2,8GHz, 8GB RAM

erstellt am: 22. Jun. 2004 14:32    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 Profis,
es wäre super, wenn Ihr mir für folgendes Problem einen Tipp geben könnt:
Ich habe mit VB6 ein kleines Programm geschrieben, welches mir komfortabel Script-Dateien erstellt, die dann mit AutoCAD abgearbeitet werden können. Hierzu wird die zuletzt aufgerufene AutoCAD-Version vorgegeben, es kann aber auch zwischen den Versionen R14, R2000/R2002 gewählt werden.
Die zuletzt aufgerufen AutoCAD-Version hole ich mir aus der Registry unter HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\CurVer.
Den Pfad, unter dem die ACAD.EXE zu finden ist hole ich mir ebenfalls aus der Registry unter HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R15.0\ACAD-1:407\AcadLocation (für R2002), wobei ich mir im Ordner ...\R15.0 die Variabel CurVer auslese, in der dann der Ordner ACAD-1:407 gespeichert ist, da dieser für jede Installation unterschiedlich ist (oder ist das eine falsche Annahme). Darin finde ich dann die Variable AcadLocation mit dem Pfad der ACAD.EXE.
Dies funktioniert mit AutoCAD R14.0, R2000 und R2002 einwandfrei. Jetzt habe ich auf AutoCAD R2005 upgedatet. Hier gibt es jedoch in der Registry in dem Ordner \R16.1 keine Variable CurVer aus der ich den Ordner auslesen kann (ACAD-XXX:XXX), in der die Variable  AcadLocation gespeichert ist.
Jetzt meine Fragen:
- Ist in der Registry der Ordner unterhalb ...\R16.1, also der Ordner der mit ...\ACAD-XXX:XXX beginnt, von Installation zu Installation tatsächlich immer unterschiedlich benannt?
- Wie bekomme ich unter AutoCAD R2005 (R16.1) den Installationspfad der ACAD.EXE aus der Registry?
- Gibt es vielleicht noch eine elegantere Möglichkeit die zuletzt aufgerufene Version und den Installationspfad der ACAD.EXE unter VB6 zu erhalten?
Für schnelle und kompetente Hilfe wäre ich sehr dankbar.

Gruß
Wolfi

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

Brischke
Ehrenmitglied V.I.P. h.c.
CAD on demand GmbH



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

Beiträge: 4171
Registriert: 17.05.2001

ACAD20XX, defun-tools

erstellt am: 22. Jun. 2004 14:38    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 WolfgangSCH 10 Unities + Antwort hilfreich

Hallo Wolfi,

warum so kompliziert? Du kannst doch direkt mit VB das Acad-Objekt ansprechen und auch starten. Dazu einen Verweis auf dei acad*.tlb und dann geht's los.

Bei Fragen ...

Grüße Holger

------------------
Holger Brischke
(defun - Lisp over night!
AutoLISP-Programmierung für AutoCAD
Da weiß man, wann man's hat!

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

WolfgangSCH
Mitglied



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

Beiträge: 145
Registriert: 01.10.2002

erstellt am: 22. Jun. 2004 14:46    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 Holger,
vielen Dank für Deine schnelle Antwort.
Wenn ich das Acad-Objekt unter VB6 anspreche, wird aber nur die zuletzt aufgerufene AutoCAD-Version gestartet, oder?
Ich möchte aber mit meinem Programm per Optionsfeld zwischen AutoCAD R14, R2000/R2002 und R2005 wählen können, wobei mir die zuletzt aufgerufene AutoCAD-Version vorgeschlagen wird (Optionsfeld markiert). Nach dem Betätigen der Start-Taste wird dann die per Optionsfeld gewählte AutoCAD-Version gestartet und das Script von AutoCAD abgearbeitet.

Gruß
Wolfi

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

Brischke
Ehrenmitglied V.I.P. h.c.
CAD on demand GmbH



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

Beiträge: 4171
Registriert: 17.05.2001

ACAD20XX, defun-tools

erstellt am: 22. Jun. 2004 17: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 Nur für WolfgangSCH 10 Unities + Antwort hilfreich

Hallo Wolfi,

ich denke du kannst ja mehrere Verweise auf die verschiedenen *.TLB's erstellen und somit eben im Code das gewünschte Applikationsobjekt erzeugen und starten.
Ich habe hier kein VB zur Verfügung, sollte (wenn ich mich recht erinnere) aber so gehen.

Bei Fragen ...

Grüße Holger

------------------
Holger Brischke
(defun - Lisp over night!
AutoLISP-Programmierung für AutoCAD
Da weiß man, wann man's hat!

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: 9732
Registriert: 01.12.2003

AutoCAD 2.5 - 2022, LDD, MDT, RD, ADT, Civil
Inventor AIP 4-11, 2008 -2022
Win 10

erstellt am: 23. Jun. 2004 00:04    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 WolfgangSCH 10 Unities + Antwort hilfreich

Für AutoCAD R15.0 und früher steht der Eintrag
curVer
unter
HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R15.0
für Version 16 und 16.1 also 2004 und 2005 unter
HKEY_CURRENT_USER\SOFTWARE\Autodesk\AutoCAD\R16.x

mfg Udo Hübner

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

WolfgangSCH
Mitglied



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

Beiträge: 145
Registriert: 01.10.2002

erstellt am: 23. Jun. 2004 08:37    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

Vielen Dank für die schnelle Hilfe!
Hallo CAD-Huebner: Genau das habe ich gesucht! Jedoch kann ich unter dem von Dir für AutoCAD 2005 angegebenen Pfad in der Registry die Variable unter der der Pfad zur ACAD.EXE gespeichert ist nicht finden. Habe ich den wohl übersehen?
Ferner möchte ich Dich noch fragen, ob die Bezeichnung für den Ordner unterhalb ...\R16.1, also der Ordner der ...\ACAD-XXX:XXX heißt, von Installation zu Installation unterschiedlich ist, oder von AutoCAD immer gleich vergeben wird.
Füt Deine erneute Hilfe bedanke ich mich schon jetzt vorab.

Gruß
Wolfi

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

mapcar
Mitglied
CADmin



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

Beiträge: 1250
Registriert: 20.05.2002

Die Phönizier haben das Geld erfunden - aber warum so wenig?
(Johann Nepomuk Nestroy)

erstellt am: 23. Jun. 2004 14:41    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 WolfgangSCH 10 Unities + Antwort hilfreich

Wolfi, dein Problem verstehe ich jetzt nicht ganz - was findest du nicht?

Ich hab's jetzt nur in Lisp, aber es dürfte ja kein Problem sein, das in VBA umzusetzen:

Code:

(defun location-of-acad16-exe()
  (vl-load-com)
  (vl-registry-read
    (strcat
      "HKEY_LOCAL_MACHINE\\SOFTWARE\\Autodesk\\AutoCAD\\R16.1\\"
      (vl-registry-read "HKEY_CURRENT_USER\\Software\\Autodesk\\AutoCAD\\R16.1" "CurVer")
    )
    "Location"
  )
)

(location-of-acad16-exe) => "C:\\Programme\\Autodesk\\AutoCAD 2005"


Gruß, Axel

------------------

Meine AutoLisp-Seiten
Meine private Homepage
Mein Angriff auf dein Zwerchfell
Mein Lexikon der Fotografie
Mein gereimtes Gesülze

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

WolfgangSCH
Mitglied



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

Beiträge: 145
Registriert: 01.10.2002

erstellt am: 23. Jun. 2004 15: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

Hallo Axel,
danke Dir für Deine Hilfe.
Habe die Variable "Location", in der der Pfad zur ACAD.EXE gespeichert ist dank Deiner Hilfe unter HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\R16.1\ACAD-301:407\Location gedunden!
Jetzt bleibt nur noch die Frage:
Bei mir heißt das Unterverzeichnis HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\R16.1\ACAD-301:407. Wird AutoCAD 2005 auf einem anderen Rechner auch unter dem Ordner ...\ACAD-301:407 gespeichert, oder heißt dieser Ordner dort anders????

Gruß
Wolfgang

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: 9732
Registriert: 01.12.2003

AutoCAD 2.5 - 2022, LDD, MDT, RD, ADT, Civil
Inventor AIP 4-11, 2008 -2022
Win 10

erstellt am: 23. Jun. 2004 15:15    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 WolfgangSCH 10 Unities + Antwort hilfreich

Ja
ACAD-301:407 ist immer die deutsche AutoCAD Version
die hintere Zahl ist die Sprachversion
ACAD-301:409 ist z. B. die englische Version

407 = deutsch
409  = englisch

Die vordere Zahl gibt die genaue Version an z. B.

203 Mechanical Desktop 2004
223 Mechanical Desktop 2004 DX
208 Land Desktop 2004
301 AutoCAD 2005
302 Autodesk MAP 3D 2005

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

WolfgangSCH
Mitglied



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

Beiträge: 145
Registriert: 01.10.2002

erstellt am: 23. Jun. 2004 15:34    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 Udo,

vielen Dank für Deine Hilfe und somit ist auch meine letzte Frage kompetent beantwortet worden.

Gruß
Wolfgang

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

mapcar
Mitglied
CADmin



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

Beiträge: 1250
Registriert: 20.05.2002

Die Phönizier haben das Geld erfunden - aber warum so wenig?
(Johann Nepomuk Nestroy)

erstellt am: 23. Jun. 2004 16:12    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 WolfgangSCH 10 Unities + Antwort hilfreich

Das stimmt alles schon, aber du musst diese Zahlen ja gar nicht kennen (in meinem Beispiel lese ich sie ja auch aus). Wo ich aber immer noch am Rätseln bin: In einem anderen Thread schrieb hier mal jemand, dass er die gleiche ACAD-Version mehrfach auf einem Rechner hat. Wie das dann alles funktionieren soll - keine Ahnung. Ich bräuchte im Moment eigentlich sowohl 2004 als auch 2005 auf meinem Rechner - und zwar jeweils die deutsche als auch die englische Version. Ich trau mich aber einfach nicht - mir reicht schon, dass die drei englischen Versionen (2002, 2004, 2005), die ich jetzt habe, kollidieren. Es ist ja nicht so, dass das alles problemlos läuft. Gestern habe ich mich z.B. stark gewundert, warum in der Hilfe zu 2004 die Befehle "TABLE" und "FIELD" drinstehen, diese Befehle gibt es ja erst in 2005. Es lag einfach daran, dass ich alle drei Versionen offen hatte - da spinnt die Hilfe völlig. Oben steht 2004 drüber, aber sie zeigt Kapitel aus 2005 an:-( Jedenfalls kann ich mir nicht vorstellen, wie das dann mit den Keys in der Registry gehen soll. Aber das nur am Rande...

Also: Wenn du nicht weisst, ob auf einem Rechner Deutsch oder Englisch usw. installiert ist, musst du den Ausleseweg gehen!

Gruß, Axel

------------------

Meine AutoLisp-Seiten
Meine private Homepage
Mein Angriff auf dein Zwerchfell
Mein Lexikon der Fotografie
Mein gereimtes Gesülze

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

WolfgangSCH
Mitglied



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

Beiträge: 145
Registriert: 01.10.2002

erstellt am: 23. Jun. 2004 16:38    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 Axel,

ich habe auf meinem Rechner problemlos AutoCAD R2002 und R2005 installiert. Wenn Du nicht parallel mit beiden offenen Versionen arbeitest, sondern die offene immer erst schließt bevor Du die nächste öffnest, geht das einwandfrei.

Jetzt habe ich aber immer noch eine Frage:
Wird in der Registry für die AutoCAD-Version 2004 R16 oder R16.0 eingetragen, ich denke wohl R16.0 oder??

Gruß
Wolfi

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

mapcar
Mitglied
CADmin



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

Beiträge: 1250
Registriert: 20.05.2002

Die Phönizier haben das Geld erfunden - aber warum so wenig?
(Johann Nepomuk Nestroy)

erstellt am: 23. Jun. 2004 23:05    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 WolfgangSCH 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von WolfgangSCH:
Wenn Du nicht parallel mit beiden offenen Versionen arbeitest, sondern die offene immer erst schließt bevor Du die nächste öffnest, geht das einwandfrei.

Richtig, dann macht's kein Problem - aber meine Aufgabe im Moment ist, die Hilfedateien miteinander zu vergleichen:-((((

Zitat:
Original erstellt von WolfgangSCH:
Wird in der Registry für die AutoCAD-Version 2004 R16 oder R16.0 eingetragen, ich denke wohl R16.0 oder??

Ich habe bisher jedenfalls nur 16.0 gesehen

Gruß, Axel

------------------

Meine AutoLisp-Seiten
Meine private Homepage
Mein Angriff auf dein Zwerchfell
Mein Lexikon der Fotografie
Mein gereimtes Gesülze

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

WolfgangSCH
Mitglied



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

Beiträge: 145
Registriert: 01.10.2002

erstellt am: 24. Jun. 2004 08:05    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

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)2023 CAD.de | Impressum | Datenschutz