在开发IP-MAC扫描监视器时,设置了开机自动运行,但是当WINDOWS启动后,程序运行后却打开窗体了,不是最小化运行的。这怎么办呢?于是想到加一个参数给程序启动时,但不知道怎么实现,结果发现VB中有command,是可以接受参数的。直接:AAA.EXE xxx,
在程序中用一个变量得到这个参数,那就可以了。做法:
1、在注册表自启动项中写入AAA.EXE xxx
2、在程序启动过程中
dim s as string
if s=xxx then 最小化运行
如此简单就可以了。 ......
最简单用VB把asp封装成dll的入门程序
当IIS被请求执行一个ASP程序,它首先会在ASP文件中找到<%%>标签之间的代码,并且执行它(也可以是<scri ptrunat=server></script....>之间的代码).如果这个ASP程序在先前被调用过,那么它就会用内存中的编译过的程序来向用户返回HTML代码,如果没有,那么它就重新编译.这里ASP就比CGI多一点速度优势,因为CGI 是每一个请求都使用一个线程.这样就大大消耗了服务器的资源.
启动你的VB,选择ActiveX图标.这个图标可以在新建工程找到!VB会提供一个默认的工程名(project1)和类名( class1).我们会将这两个名字都改掉.在改名之前,请首先确认我们拥有MicrosoftActiveServerPag esObjectLibrary,它在我们的程序非常有用.从菜单中选择"工程",然后在其中选择"引用",就会出现"引用"窗口从中选择MicrosoftActiveServerPagesObjectLibrary.
给工程和类命名
现在我们来根据自己的爱好来为project1和class1来命名吧!给它们命名也是很重要的,我们以后会用这个工程名和类名来创建这个组件的实例!后面详细介绍.
如何改名,我就不想多说了!
我们的工程名改为Exmaple,类名为Helloword
怎样使用工程和类
现在我们有了我们自己的工程(Example1 ......
最简单用VB把asp封装成dll的入门程序
当IIS被请求执行一个ASP程序,它首先会在ASP文件中找到<%%>标签之间的代码,并且执行它(也可以是<scri ptrunat=server></script....>之间的代码).如果这个ASP程序在先前被调用过,那么它就会用内存中的编译过的程序来向用户返回HTML代码,如果没有,那么它就重新编译.这里ASP就比CGI多一点速度优势,因为CGI 是每一个请求都使用一个线程.这样就大大消耗了服务器的资源.
启动你的VB,选择ActiveX图标.这个图标可以在新建工程找到!VB会提供一个默认的工程名(project1)和类名( class1).我们会将这两个名字都改掉.在改名之前,请首先确认我们拥有MicrosoftActiveServerPag esObjectLibrary,它在我们的程序非常有用.从菜单中选择"工程",然后在其中选择"引用",就会出现"引用"窗口从中选择MicrosoftActiveServerPagesObjectLibrary.
给工程和类命名
现在我们来根据自己的爱好来为project1和class1来命名吧!给它们命名也是很重要的,我们以后会用这个工程名和类名来创建这个组件的实例!后面详细介绍.
如何改名,我就不想多说了!
我们的工程名改为Exmaple,类名为Helloword
怎样使用工程和类
现在我们有了我们自己的工程(Example1 ......
很久以前的一个代码了。。。。。那时还沉迷于研究WindowsXP登录密码的计算方法。。。。
先新建一个VB工程,画一个CommandButton,改名为cmdGetSYSKEY,画一个TextBox,改名为txtSYSKEY,然后粘贴下面的代码,运行即可,在WindowsXP SP2 Build 2600 + VB6.0 SP6下测试通过,获得的SYSKEY与Cain&Abel v4.9.6一致。。。。
'**************************************************
'软件名:获取系统 SYSKEY
'翻译制作:TZWSOHO
'欢迎到我的 BLOG:HTTP://BLOG.CSDN.NET/TZWSOHO
'
'本软件参照《SAM的散列存储加密解密算法以及SYSKEY的计算》制作而成
'
'(现节选文中的一段话...)
'
'……那么SYSKEY是如何计算出来的呢?这可能是我发现MS最牛皮的
'一个地方了,先开始想一定会存放在注册表某处,呵呵,
'最后跟踪MS引导时候的WINLOGON进程才知道,
'SYSKEY是这样计算出来的,很多人会大掉眼镜吧:
'SYSKEY的计算是:SYSTEM\\CurrentControlSet\\Control\\Lsa下的
'JD,Skew1,GBG,Data四个键值的CLASS值通过换位得来的……
'
'(然后文章作者给出了部分的 C 源代码,
'我将获取 SYSKEY 部分的代码转成了 VB 代码给大家使用)
'
......
传统方法是遍历一遍
如果listbox 项目过多
明显速度不行
好方法是通过sendmessge发消息给listbox让他把选中项目直接传到参数数组中
You can use the SendMessage() API function instead.
As
you probably know, this function lets you send a message to one or more
windows. The declaration statement conforms to the following syntax:
Private Declare Function SendMessage Lib "user32" _
Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg _
As Long, ByVal wParam As Long, lParam As Any) As Long
Since
we want to gather the listbox: selected items, we'll send the
LB_GETSELITEMS constant in the wMsg argument, which you declare like so:
Private Const LB_GETSELITEMS = &H191
The LB_GETSELITEMS message fills an array with the index numbers of all the selected items.
Dim ItemIndexes() As Long, x As Integer, iNumItems As Integer
iNumItems = ThisBox.SelCount
If iNumItems Then
ReDim ItemIndexes(iNumItems - 1)
&nbs ......
重拾VB之二,毫秒篇
PMP 关劲松
鬼使神差,09年12月入职的公司仍使用VB开发软件,虽然并非专职开发,但也不得不在事隔4年之后,重新使用VB。
在vb中如何获得毫秒精度级别的时间?vb的时间函数不支持毫秒,需要利用windows的基本API,编写程序才能获取毫秒级别的时间精度。过程如下:
1 首先引入取系统时间方法,GetLocalTime,在"kernel32"中。
2 然后定义一个结构,用于按年、月、日、小时、分钟、秒、毫秒保存时间。
3 调用GetLocalTime,获取当前时间,保存到结构中。
4 使用Format函数,生成时间的输出格式显示毫秒。
'代码如下:
'*-----------------------------------------------------------------------------*
'* 注释内容,建立结构体,用于按时间单位保存获取的系统时间。
Private Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
&n ......
最简单的方法是使用filesystemobject对象。而它并非VB内置对象,
需引用才可以使用。
1.filesystemObject对象引用
“工程/引用/microsoft scription Runtime”
在对象浏览器窗口中选“scripting”模块,看到增了许多对象,
drive filesystemobject textstream file等
其中filesystemobject是这些对象的关键,想要使用其它对象,
都必须先建立filesystemobject对象。
2.文件存取
dim fs as new filesystemobject 建立filesystemobject对象
dim txtf as textstream 定义了一个textstream对象变量
textstrem对象与文件的读写所有文件都必须先打开,才能读写,
filesystemobjet对象所提供的打开文件的方法有两种:
opentextfile 打开文件
createtextfile 建立文件
通过filesystemobject所打开的文件是一个TextStream对象,
而通过textstream对象的各种方法和属性,就可以进一步读写文件。
1)opentextfile 方法:打开文件
set ......