问题1:下面的语句为什么执行不成功,也就是说dirtxt返回的值是“空字符串”?怎样才能正确返回当前的目录路径?
  Declare Function GetCurrentDirectory Lib "kernel32" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
  Dim dirtxt As String
  dirtxt = Space$(1025)
  GetCurrentDirectory Len(dirtxt), dirtxt
问题2:怎样执断一个程序当前的目录路径?例如:在Excel2000中点击“打开”,将会弹出一个“打开对话框”,怎样设计一个程序,判断这个“打开对话框”所处的目录位置呢?例如是在“c:\我的文档”还是在“c:\windows\我的文档”等等。

解决方案 »

  1.   

    1,用VB内置的CurDir函数就可以获取系统当前目录,不用运用API。
    2,不太明白你的意图,用公共对话框选择一个文件后会改变系统的当前目录。如果用户按的是确定,在公共对话框关闭后一样可以CurDir函数来获取路径。
      

  2.   

    用app.path不也一样可以找到当前路径么?
      

  3.   

    意图是这样,我想对系统实行监控,限制用户不能随便进入磁盘目录。例如:设计一个程序,它监视着系统,使用户只能访问“c:\我的文档”这个目录,如果发现用户进了其他目录(如c:\windows\system),就关掉“打开文件”对话框。当然,我所要检测的不只是我们自己所编的程序所在的目录,而是所有程序的目录。比如,用户在word或excel中点击了“打开”菜单,进入了“打开”对话框,这时我们设计的程序便监示着用户的行为,如果用户只在“c:\我的文档”中浏览文件,那么我们不理他,如果他进入了其他目录,我们就关掉word或execl的“打开”对话框。app.path等只能返回我们的程序本身的目录,不能返回其他程序的目录,所以完成不了我所要求的功能。