mikewolf2k 发表于 2004-1-10 22:06:00

请教几个vb方面的问题

1.windows中有什么文件时每次启动都要读写的文件,我想通过获得这个文件的访问时间来获得系统真正的日期.
2.acad vba中怎样创建鼠标右键菜单.vb中用"菜单编辑器"创建菜单来实现,vba中没有"菜单编辑器",该怎么做?
3.由于vb的dll编程时无法调试,我现在是在acad vba中调试,等全部调试通过后再把所有源程序用vb打开,再编译成dll.请问源文件需要做些什么修改?或者编dll有什么方法调试?
4.vb中如何获得acad的安装路径?

efan2000 发表于 2004-1-10 22:19:00

1、注册表的文件肯定会有读写的。是System.dat和User.dat。其实通过读取系统时间就行了。
2、右键菜单是通过菜单的shortcutMenu属性来判断,如果为True,那么它就是快捷菜单,快捷菜单只有一项。
3、DLL需要新建一个工程进行调试,也可以直接编写标准的工程,等完工之后再转化成ActiveX DLL。
VBA中编写之后转到VB,需要增加跟ACAD的接口部分,并把所有的ThisDrawing更改为自己的ActiveDocument对象。

mikewolf2k 发表于 2004-1-10 22:30:00

1.win98,nt,2000,xp 下不一样吧,2000等好像没有这个文件.主要是要限制软件使用时间,读取系统时间容易被修改.
2.能不能详细点,cad帮助上关于menu的实在看不懂.能否给个源程序?
3."需要增加跟ACAD的接口部分"是什么意思,具体怎么改?在vba中我都是用activedocument.
4.在vb中获得acad安装路径??

myfreemind 发表于 2004-1-10 22:35:00

获取接口:getobject(,"autocad.application")

efan2000 发表于 2004-1-10 23:36:00

mikewolf2k发表于2004-1-10 22:30:00static/image/common/back.gif1.win98,nt,2000,xp 下不一样吧,2000等好像没有这个文件.主要是要限制软件使用时间,读取系统时间容易被修改.
2.能不能详细点,cad帮助上关于menu的实在看不懂.能否给个源程序?
3."需要



对于1,系统时间更改了,那些文件的时间也变了,所以通过这个方法不可取,应该在每次运行时,判断前一次运行的时间,只能增大。
2、帮助中就有示例。

    Dim currMenu As AcadPopupMenu
    Dim menuStatus As String
   
    menuStatus = ""
    For Each currMenu In ThisDrawing.Application.MenuGroups.Item(0).Menus
    If currMenu.shortcutMenu Then
      menuStatus = menuStatus & currMenu.name & " is the shortcut menu." & vbCrLf
    Else
      menuStatus = menuStatus & currMenu.name & " is not the shortcut menu." & vbCrLf
    End If
    Next currMenu
    MsgBox menuStatus

3、开人发员手册的介绍。

Sub Ch2_ConnectToAcad()
    Dim acadApp As AcadApplication
    On Error Resume Next
   
    Set acadApp = GetObject(, "AutoCAD.Application")
    If Err Then
      Err.Clear
      Set acadApp = CreateObject("AutoCAD.Application")
      If Err Then
            MsgBox Err.Description
            Exit Sub
      End If
    End If
    MsgBox "Now running " + acadApp.Name + _
         " version " + acadApp.Version
End Sub

Dim acadDoc as AcadDocument
Set acadDoc = acadApp.ActiveDocument

4、安装路径一是通过注册表读取,二是使用Application的Path属性吧。

mikewolf2k 发表于 2004-1-11 00:32:00

1.一般对付限制使用时间的软件,是运行该软件前把时间改到有效期内,软件运行完毕后再改回来.而始终把日期放到有效期内的好像不多.所以我想获得每次启动都读写的文件日期.
2.不知道怎样创建自己的右键菜单啊~~~
4.能否在详细些.我太菜啦.
谢谢谢谢谢谢!!!

mikewolf2k 发表于 2004-1-13 18:57:00

再顶顶

cqszgs 发表于 2004-1-15 10:31:00

4、安装路径一是通过注册表读取,二是使用Application的Path属性吧。
楼上的已经写得很详细了。

Public Sub AppPath()
MsgBox ThisDrawing.Application.path
End Sub
页: [1]
查看完整版本: 请教几个vb方面的问题