底层的东西,你总不能拿VB编驱动程序,VXD之类的吧!

解决方案 »

  1.   

    开发操作系统不能用VB,其他的都可以吧!没开发过驱动程序,不知VB可否。
      

  2.   

    比如开发在装机时用的 fdisk  用vb就太那个了
      

  3.   

    使用VB开发win32图形界面比较快速,对于相对比较低层的应用就相对困难,有时不得不借用API函数来完成。应该没有肯定不肯定这么绝对,语言只是一种工具,一种手段而已。
      

  4.   

    在开发windows上的应用时(注意啊,应用,不是驱动,呵呵,大家不要抬杠阿),理论上来说,用vb可以做任何软件.因为vb本身没有的,可以使用api,而win32 api时可以实现windows上的任何应用功能的.当然这和使用者的功力有很大的关系,如果c/c++的功力很好,你甚至可以用vb实现内存拷贝的功能,因为long类型可以做指针.
      

  5.   

    说了这么多,给个例子吧.比如10进制转换2进制.在网吧里,没有环境,随手写写,有错误请见谅,主要是思路.用vb的一般用除法这么做:
    public function o2b(byval long nValue) as string
      dim nValueCopy as long
      dim nTmp as byte '商
      dim sReturn as string '返回值
      nValueCopy = nValue  '也有用nValue - 2^N 方式的,这里就不多说了   do while nValueCopy > 0
        nTmp = nValueCopy / 2           
        sReturn = cstr( nValueCopy - nTmp / 2 ) & sReturn  '反向累计
        nValueCopy = nTmp
      loop
      
      o2b = sReturn
    end pulic而用c比较熟的人一般按位去做:
    public function o2b(byref long nValue) as string
      dim nBit( 0 to 7 ) as byte   '最小的单位是byte了,放掩码
      dim nByte( 1 to 4 ) as byte  '分解nValue到字节的
      dim nTmp as byte
      dim sReturn as string '返回值
      dim i as byte, j as byte  nBit(0) = 1            '00000001  
      nBit(1) = 2            '00000010
      nBit(2) = 4            '00000100
      nBit(3) = 8            '00001000
      nBit(4) = 16           '00010000
      nBit(5) = 32           '00100000
      nBit(6) = 64           '01000000
      nBit(7) = 128          '10000000  'win32 api, 将nValue的4个字节分别复制到nByte中,byref 就相当于指针
      CopyMemory( nByte(1), byref VarPtr( nVaule ), 4 )  for i = 4 to 1      '低字节在前
        for j = 7 to 0    '高位开始
            '方法一,减法
            nTmp = 0
            if nByte(i) > nBit(j) then
               nByte = nByte(i) - nBit(j)
               nTmp = 1           '这一位是1
            end if
            sReturn = sReturn & cstr(nTmp)        '方法二,按位与 效率更高
            nTmp = 1
            if ( not ( nByte(i) imp nBit(j) ) ) = nBit(j) then
               '我没有找到vb按位与的函数,只有按位"同与"(不记得是不是)的imp
               nTmp = 0
            end if
            sReturn = sReturn & cstr(nTmp)
            
      next j, i  o2b = sReturn
    end pulic
      

  6.   

    我想如果开发DLL或什么库用VC把,开发别的就用VB把,毕竟VB比较容易和快速吧