dim a as string
a=dir("c:\WINDOWS\system32\"+此处参数是 正常+隐藏+系统)
while a <> ""
if right(a,3)="exe" then
list1.additem a
a=dir
end if
next这是遍历文件的点击事件----点击后会出现卡死现象,,为什么呢? (好像出现死循环了- -)如果我不加这句的话 if right(a,3)="exe" then  它就可以遍历出所有文件...所以在这里求大家解释下...(还有下面一个问题请问下,,最后解释的通俗易懂哦)————————————————————————————————————————————————————--——
引用 17 楼 spt_petrolor 的回复:
如果你确定你的用户都是98什么的(系统已经带vb运行库了)以后的系统,就不做安装了,直接把程序和控件打包就可以了。如果你确定你的用户一定安装VB了,你可以直接发布你的程序exe文件了。为什么有的OCX控件需要注册?有的不需要呢?比如有些OCX打包好了就直接可以在别的电脑上运行..而有人OCX则需要在程序里面编写注册代码进行注册程序目录的OCX控件? 

解决方案 »

  1.   

    dim a as string
    a=dir("c:\WINDOWS\system32\"+此处参数是 正常+隐藏+系统)
    while a <> ""
    doevents
    if right(a,3)="exe" then
    list1.additem a
    a=dir
    end if
    next
      

  2.   

    doevents
    是不卡了 这doevents
    有什么用?
      

  3.   

    用了doevents 是不是循环就会变慢?
      

  4.   

    我把它改成这样就可以遍历所有EXE文件了 哈哈Private Sub Command1_Click()
    Dim a As String
    a = Dir("c:\WINDOWS\system32\", vbHidden + vbNormal + vbSystem)
    While a <> ""
      If Right(a, 3) = "exe" Then
        List1.AddItem a
      End If
      a = Dir
      Wend
    End Sub
      

  5.   

    doevents会变慢的,但是用户感觉好点
      

  6.   


    不过也有好处的..比如这段代码功能
    它的功能是循环打开list2中的网站地址进行在
    Inet1_StateChanged 事件检索数据..也就是
    DoEvents 退出循环..等检索完了再去循环打开下一个连接...我也前2天才知道它还可以暂时退出循环..
    开心..O(∩_∩)O哈哈~
    Dim j As Integer
      For j = 1 To List2.ListCount
        While Inet1.StillExecuting
          DoEvents
        Wend
        Inet1.Execute List2.List(j - 1)
         List2.Selected(j - 1) = True
        Next
      

  7.   

    你可以扔一个progressbar,然后每格50 doevents一下,这样用户感觉好点,你也不至于太慢希望有帮助阿:)