.NET
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

how to list all profiles on machine

2 REPLIES 2
Reply
Message 1 of 3
ricobano
431 Views, 2 Replies

how to list all profiles on machine

I need to list all the profiles on a given machine and add a new profile if its not in the list. Is this possible in c#?  Can anyone point me in the right direction as i cant find anything conclusive when i searched

2 REPLIES 2
Message 2 of 3
Alfred.NESWADBA
in reply to: ricobano

Hi,

 

search in the registry, there you can find all AutoCAD versions installed plus all profiles in every from these installations (inlcuding vertical products based on AutoCAD).

 

The path to search is:

HKCU\Software\Autodesk\AutoCAD\Rxx.x\ACAD-yyyy:yyy\Profiles

  • where xx.x is the release number
  • where yyyy:yyy stands for product + language

 

 

2012-06-08 17-56-57.png

- alfred -

------------------------------------------------------------------------------------
Alfred NESWADBA
Ingenieur Studio HOLLAUS ... www.hollaus.at ... blog.hollaus.at ... CDay 2024
------------------------------------------------------------------------------------
(not an Autodesk consultant)
Message 3 of 3
Hallex
in reply to: ricobano

Try to play around with this code

    Private Function GetAcadVer() As String
        Dim acadver As Object
        Try
            acadver = My.Computer.Registry.GetValue("HKEY_CLASSES_ROOT\AutoCAD.Application\CurVer", _
                                                  String.Empty, String.Empty)
            If TypeOf acadver Is String Then
                Return acadver.ToString()
            Else
                Return Nothing
            End If
        Catch
            Return Nothing
        End Try
    End Function

   Private Function GetAcadKind() As String

        Dim appver As Object
        Dim acadkind As Object
        Try
            appver = TryCast(My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\Autodesk\AutoCAD", "CurVer", Nothing), Object)
            If appver IsNot Nothing Then
                acadkind = TryCast(My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\Autodesk\AutoCAD" + "\" + appver, "CurVer", Nothing), Object)
                Return "HKEY_CURRENT_USER\Software\Autodesk\AutoCAD" + "\" + appver.ToString() + "\" + acadkind.ToString()
            Else
                Return Nothing
            End If
        Catch
            Return Nothing
        End Try
    End Function

    Public Sub TestProfiles()
        Dim profiles As Object
        profiles = My.Computer.Registry.GetValue(GetAcadKind() + "\Profiles", _
        String.Empty, String.Empty)

        If TypeOf profiles Is String Then
            MessageBox.Show("String profiles: " & profiles.ToString())
        ElseIf TypeOf profiles Is Integer Then
            MessageBox.Show("Integer profiles: " & CInt(profiles))
        ElseIf TypeOf profiles Is String() Then
            MessageBox.Show("String array: ")
            Dim dataArray() As String = DirectCast(profiles, String())
            For ctr As Integer = LBound(dataArray, 1) To UBound(dataArray, 1)
                MessageBox.Show(" " & dataArray(ctr))
            Next
        ElseIf TypeOf profiles Is Byte() Then
            MessageBox.Show("Binary profiles: ")
            Dim byteArray() As Byte = DirectCast(profiles, Byte())
            For ctr As Integer = LBound(byteArray, 1) To UBound(byteArray, 1)
                MessageBox.Show(" " & Hex(byteArray(ctr)) & " ")
            Next
        Else
            MessageBox.Show("Unknown Profiles type...")
        End If
    End Sub

 

~'J'~

_____________________________________
C6309D9E0751D165D0934D0621DFF27919

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk DevCon in Munich May 28-29th


Autodesk Design & Make Report

”Boost