(Setq reg (strcat "HKEY_CURRENT_USER\\" (vlax-product-key) "\\Profiles\\" (getvar "cprofile"))
regstar (strcat reg "\\Dialogs\\Appload\\Startup\\"))
(if (not (vl-registry-descendents regstar ""))
(Setq regstar (strcat reg "\\UserInterfaceSettings\\Appload\\History")
local "History")
(setq local "Startup"))
(setq start (mapcar '(lambda (x)
(setq x (strcase (vl-registry-read regstar x) t))
(list (strcat (vl-filename-base x) (vl-filename-extension x))
(vl-filename-directory x)))
(vl-remove "NumHistory" (vl-remove "NumStartup" (vl-registry-descendents regstar "")))))
(setq tbdir "c:\\teste"
vlx "teste.vlx")
(if (not (assoc vlx start)) ;se não está na startup suite, carrega
(progn
(vl-registry-write regstar (strcat (itoa (length start)) local) (strcat tbdir "\\" vlx ))
(vl-registry-write regstar (strcat "Num" local) (itoa (length start)))))
Try this.Code: [Select](Setq reg (strcat "HKEY_CURRENT_USER\\" (vlax-product-key) "\\Profiles\\" (getvar "cprofile"))
regstar (strcat reg "\\Dialogs\\Appload\\Startup\\"))
(if (not (vl-registry-descendents regstar ""))
(Setq regstar (strcat reg "\\UserInterfaceSettings\\Appload\\History")
local "History")
(setq local "Startup"))
(setq start (mapcar '(lambda (x)
(setq x (strcase (vl-registry-read regstar x) t))
(list (strcat (vl-filename-base x) (vl-filename-extension x))
(vl-filename-directory x)))
(vl-remove "NumHistory" (vl-remove "NumStartup" (vl-registry-descendents regstar "")))))
(setq tbdir "c:\\teste"
vlx "teste.vlx")
(if (not (assoc vlx start)) ;se não está na startup suite, carrega
(progn
(vl-registry-write regstar (strcat (itoa (length start)) local) (strcat tbdir "\\" vlx ))
(vl-registry-write regstar (strcat "Num" local) (itoa (length start)))))
Note, must be necessary restart Autocad after load this code, to do effect
:-D :-DTry this.Code: [Select](Setq reg (strcat "HKEY_CURRENT_USER\\" (vlax-product-key) "\\Profiles\\" (getvar "cprofile"))
regstar (strcat reg "\\Dialogs\\Appload\\Startup\\"))
(if (not (vl-registry-descendents regstar ""))
(Setq regstar (strcat reg "\\UserInterfaceSettings\\Appload\\History")
local "History")
(setq local "Startup"))
(setq start (mapcar '(lambda (x)
(setq x (strcase (vl-registry-read regstar x) t))
(list (strcat (vl-filename-base x) (vl-filename-extension x))
(vl-filename-directory x)))
(vl-remove "NumHistory" (vl-remove "NumStartup" (vl-registry-descendents regstar "")))))
(setq tbdir "c:\\teste"
vlx "teste.vlx")
(if (not (assoc vlx start)) ;se não está na startup suite, carrega
(progn
(vl-registry-write regstar (strcat (itoa (length start)) local) (strcat tbdir "\\" vlx ))
(vl-registry-write regstar (strcat "Num" local) (itoa (length start)))))
Note, must be necessary restart Autocad after load this code, to do effect
Can someone translate gibberish into C#?
Imports Microsoft.Win32
Partial Public Class ConfiguraCADForm
Public Sub New()
Me.InitializeComponent()
End Sub
Sub MainFormLoad(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
Dim VERKEY As String = ""
Dim CURVER As String = ""
Dim PROFILE As String = ""
'
Dim K_ACADUSER As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\\Autodesk\\AutoCAD")
Dim VERKEYS As String() = K_ACADUSER.GetSubKeyNames()
For Each VERKEY In VERKEYS
MsgBox(VERKEY)
Dim K_VERKEY As RegistryKey = K_ACADUSER.OpenSubKey(VERKEY)
Dim CURVERS As String() = K_VERKEY.GetSubKeyNames()
For Each CURVER In CURVERS
MsgBox(VERKEY + "\" + CURVER)
Dim K_PROFILES As RegistryKey = K_ACADUSER.OpenSubKey(VERKEY + "\" + CURVER + "\" + "Profiles")
Dim PROFILES As String() = K_PROFILES.GetSubKeyNames()
For Each PROFILE In PROFILES
MsgBox(VERKEY + "\" + CURVER + "\" + PROFILE)
Dim K_PROFILE As RegistryKey = K_PROFILES.OpenSubKey(PROFILE)
Dim K_STARTUP As RegistryKey = K_PROFILE.OpenSubKey("Dialogs\Appload\Startup", RegistryKeyPermissionCheck.ReadWriteSubTree)
Dim NUMBER As String = K_STARTUP.GetValue("NumStartup").ToString
MsgBox(NUMBER)
'...
'...ADD "C:\TEST.VLX" IF NOT EXIST
'...
K_STARTUP.Close()
K_PROFILE.Close()
Next PROFILE
K_PROFILES.Close()
Next CURVER
K_VERKEY.Close()
Next VERKEY
K_ACADUSER.Close()
Me.Close()
End Sub
End Class
Imports Microsoft.Win32
Public Class Form
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim K_ACADUSER As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\\Autodesk\\AutoCAD")
Dim VERKEYS As String() = K_ACADUSER.GetSubKeyNames()
For Each VERKEY In VERKEYS
Dim K_VERKEY As RegistryKey = K_ACADUSER.OpenSubKey(VERKEY)
Dim CURVERS As String() = K_VERKEY.GetSubKeyNames()
For Each CURVER In CURVERS
Dim K_PROFILES As RegistryKey = K_ACADUSER.OpenSubKey(VERKEY + "\" + CURVER + "\" + "Profiles")
Dim PROFILES As String() = K_PROFILES.GetSubKeyNames()
For Each PROFILE In PROFILES
MsgBox(VERKEY + "\" + CURVER + "\" + PROFILE)
Dim K_PROFILE As RegistryKey = K_PROFILES.OpenSubKey(PROFILE)
Dim K_STARTUP As RegistryKey = K_PROFILE.OpenSubKey("Dialogs\Appload\Startup", RegistryKeyPermissionCheck.ReadWriteSubTree)
Dim NUMBER As String = K_STARTUP.GetValue("NumStartup")
'...
K_STARTUP.SetValue("NumStartup", (CInt(NUMBER) + 1).ToString)
K_STARTUP.SetValue((CInt(NUMBER) + 1).ToString + "Startup", "C:\TESTE.LSP")
'...
K_STARTUP.Close()
K_PROFILE.Close()
Next PROFILE
K_PROFILES.Close()
Next CURVER
K_VERKEY.Close()
Next VERKEY
K_ACADUSER.Close()
Me.Close()
End Sub
End Class
(ALERT "HELLO!")