象外行一样思考,象专家一样实践。
coolbean | 25 九月, 2007 11:17

一、对搜索的网站进行限制
“site”表示搜索结果局限于某个具体网站或者网站频道,如“sina.com.cn”、“edu.sina.com.cn”,或者是某个域名,如“com.cn”、“com”等等。如果是要排除某网站或者域名范围内的页面,只需用“-网站/域名”。
注意:site后的冒号为英文字符,而且,冒号后不能有空格,否则,“site:”将被作为一个搜索的关键字。此外,网站域名不能有“http”以及“www”前缀,也不能有任何“/”的目录后缀;网站频道则只局限于“频道名.域名”方式,而不能是“域名/频道名”方式。诸如“金庸site:edu.sina.com.cn/1/”的语法是错误的。
示例:搜索新浪文教频道中关于鲁迅的信息。
搜索:“鲁迅 site:edu.sina.com.cn”
结果:已在edu.sina.com.cn搜索有关 鲁迅的中文(简体)网页。共约有672项查询结果,这是第1-10项。搜索用时0.24秒。 (查看全文)
coolbean | 25 九月, 2007 11:16
这里有一些Google搜索引擎的基本搜索技巧以及高级技巧,你可能对其中大部分已经了解,但是如果你知道了另外的那一部分,它可能会给你将来的搜索过程带来很大的便利。
1. 双引号可以用减号代替,比如搜索["like this"]与搜索[like-this]是一个效果
2. Google不会处理一些特殊的字符,比如[#](几年前还不行,现在可以了,比如搜索[c#]已经可以搜到相应的结果),但是还有一些字符它不认识,比如搜索[t.]、[t-]与[t^]的结果是一样的
3. Google允许一次搜索最多32个关键词
4. 在单词前加~符号可以搜索同义词,比如你想搜索[house],同时也想找[home],你就可以搜索[~house]
5. 如果想得到Google索引页面的总数,可以搜索[* *]
6. Google可以指定数字范围搜索。搜索[2001..2005]相当于搜索含有2001、2002直到2005的任意一个数的网页
7. 搜索[define:css]相当于搜索css的定义,这招对想学习知识的人很有效;也可以用[what is css]搜索;对中文来说,也可以用[什么是css]之类的
8. Google有一定的人工智能,可以识别一些简单的短语如[when was Einstein born?]或[einstein birthday]
9. 通过[link:]语法,可以寻找含有某个链接的网页,比如[link:blog.outer-court.com]将找到包括指向 blog.outer-court.com超级链接的网页(最新的Google Blog Search也支持这个语法),但是Google并不会给出所有的包含此链接的网页,因为它要保证pagerank算法不被反向工程(呵呵,可以参见那两个Google创始人关于pagerank的论文,可下载)
10. 如果在搜索的关键词的最后输入[why?],就会在结果中出现链接到Google Answers的链接http://answers.google.com ,在里面可以进行有偿提问
11. 现在出现了一种兴趣活动,叫做Google Hacking,其内容是使用Google搜索一些特定的关键词,以便找到有漏洞的、易被黑客攻击的站点。这个网站列出了这些关键词:Google Hacking Database( http://johnny.ihackstuff.com/index....ule=prodreviews )
12. 在Google 中输入一组关键词时,默认是“与”搜索,就是搜索包含有所有关键词的网页。如果要“或”搜索,可以使用大写的[OR]或 [|],使用时要与关键词之间留有空格。比如搜索关键词[Hamlet (pizza | coke)],是让Google搜索页面中或页面链接描述中含有Hamlet,并含有pizza与coke两个关键词中任意一个的网页。
13. 并非所有的Google服务都支持相同的语法,比如在Google Group中支持 [insubject:test]之类的主题搜索。可以通过高级搜索来摸索这些关键词的用法:进入高级搜索之后设置搜索选项,然后观察关键字输入窗口中的关键字的变化
14. 有时候Google懂得一些自然语言,比如搜索关键词[goog], [weather new york, ny], [new york ny]或[war of the worlds],此时Google会在搜索结果前显示出一个被业内称为“onebox”的结果,试试看吧!
15. 并非所有的Google都是相同的,它因国家版本(或是说语言版本)而异。在US版下,搜索[site:stormfront.org]会有成千上万的结果,而在德语版下,搜索[site:stormfront.org]的结果,嗯,自己看吧。Google的确与各国政府有内容审查协议,比如德国版,法国版(网页搜索),中国版Google新闻
16. 有时候Google会提示你搜索结果很烂,比如你搜索关键词[jew]试试,Google会告诉你它给出的搜索结果很烂,然后给你一个解释:http://www.google.com/explanation.html
17. 以前,搜索某些关键词如[work at Google] 时会看到Google给自己打的广告。可以去http://www.google.com/jobs/了解Google的工作
18. 对于一些“Googlebombed”(大概意思是指Google搜索的结果出问题了)的关键词,会有一个广告链接到:http: //googleblog.blogspot.com/2005/09/googlebombing-failure.html (中国大陆需要代理才能访问)。比如搜索[failure],第一条是美国布什总统介绍
19. 虽然现在Google还没有支持自然语言,但这里有一段录像显示了支持自然语言的搜索引擎的使用效果:http://blog.outer-court.com/videos/googlebrain.wmv
20. 有人说在Google中搜索[president of the internet],其结第一条表明了president of the internet是谁,我也是这么认为的,而且你还可以使用这个logo支持本文作者:http://blog.outer- court.com/files/president.gif
21. Google现在不再有“stop words”(被强制忽略的关键词),比如搜索 [to be or not to be], Google返回的结果中间还列有相关的完整短语搜索结果
22. 在Google 计算器(http://www.google.com/help/features.html#calculator )中有个彩蛋:输入[what is the answer to life, the universe and everything?]时,会返回42。(关键词翻译过来的意思是指“生命、宇宙和一切的答案”,这是一个著名科幻小说中的情节,详情参见http: //en.wikipedia.org/wiki/The_Answer_to_Life,_the_Universe, _and_Everything)。试试吧,哈哈
23. 你可以在搜索时使用通配符[*],这在搜索诗词时特别有效。比如你可以搜一下["love you twice as much * oh love * *"] 试试
24. 同样,你的关键词可以全部都是通配符,比如搜索["* * * * * * *"]
25. www.googl.com是在输错网址后的结果,也是个搜索网站,但搜索结果与Google完全不同。而且此网站也赚Google的钱,因为它使用Google AdSense
26. 如果你想把搜索结果限制在大学的网站之中,可以使用[site:.edu]关键词,比如[c-tutorial site:.edu],这样可以只搜索以edu结尾的网站。你也可以使用Google Scholar来达到这个目的。也可以使用[site:.de]或[site:.it]来搜索某个特定国家的网站。
coolbean | 24 九月, 2007 15:03
一、linux sed 批量替换多个文件中的字符串
sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir`
例如:替换/home下所有文件中的www.bcak.com.cn为bcak.com.cn
sed -i "s/www.bcak.com.cn/bcak.com.cn/g" `grep www.bcak.com.cn -rl /home`
二、下面这条命令:
perl -pi -e 's|ABCD|Linux|g' `find ./ -type f`
将调用perl执行一条替换命令,把find命令找到的所有文件内容中的ABCD替换为Linux
find ./ -type f
此命令是显示当前目录下所有的文件
上面的“s|ABCD|Linux| g”是perl要执行的脚本,即把所有ABCD替换为Linux
如果不写最后的那个g,“s|ABCD|Linux| ”将只替换每一行开头的ABCD
coolbean | 24 九月, 2007 14:54
在Freebsd下我们常常要进行字符串的查找替换,有在vim编辑器里面进行的,也有在shell下进行的,这样的事情常遇到,但是每次都会感到有些概念模糊,尤其对类似awk、sed、grep、find等命令的具体参数使用问题上老是糊涂,下面收集几个常用的方法,实在不能理解就死记算了!
1、在vi中使用的查找替换方法
利用 :s 命令可以实现字符串的替换。具体的用法包括:
:s/str1/str2/ 用字符串 str2 替换行中首次出现的字符串 str1
:s/str1/str2/g 用字符串 str2 替换行中所有出现的字符串 str1
:.,$ s/str1/str2/g 用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1
:1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1
:g/str1/s//str2/g 功能同上从上述替换命令可以看到:g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。
2、在shell中使用find结合grep进行文件的替换
# find ./ -exec grep str1 ‘{}’ ; -exec sed -i.bak s/str1/str2/g ‘{}’ ;
上面命令可以在当前目录下(包括子目录)查找包含str1的文件,自动替换成str2,并且生成源文件的bak文件。
coolbean | 23 九月, 2007 07:25
1.Cobol:Y2k(千年虫)好像给了Cobol一次新机遇,然而仅仅六个月到一年的时间,这门衰退的语言便再无救世主,与此同时,也极少有学校再开这门课。
2.Nonrelational DBMS:20世纪80年代,主要有两大数据库管理系统方式:一是多级递阶系统(hierarchical systems)如IBM的IMS,另一种就是network DBMS,像当初的OracleDBMS。然而今天二者都已被关系型数据库管理系统所取代,像DB2, Oracle and Microsoft SQL Server。
3.Non-IP networks:TCP/IP已经基本统治了网络世界,由此同时,人们对IBM SNA (Systems Network Architecture)的需求也越来越少。尽管现在仍有许多银行、保险公司在SNA网络方面投资,然而在整个网络投资方面的比例已经很小很小。
4.cc:Mail:这一基于LAN存储转发的e-mail系统始于80年代初,曾达到两千万的使用人数。然而当更复杂的邮件系统如Lotus Notes 和Microsoft Exchange出现的时候,它便迅速末落了。
5.ColdFusion:曾经流行的网页设计语言,由Allaire公司在上世纪90年代中期推出。曾经关于ColdFusion是否灭亡的争论也已平息,因为现在已经是.Net,Java,Ruby on Rails,Python,PHP的天下。
6.C语言:随着Web时代的来临,C 语言跟这个时代越来越没关系。“C++和C#仍然矫健着,但如果你想找一个纯C语言的程序员,要么他失业,要么他正在学习一门新语言。”
7.PowerBuilder:美国Powersoft公司于90年代初推出的基于客户/服务器体系结构的面向对象的数据库开发工具,后被Sybase收购,还记得它当初有多热吗? 被视为Oracle的竞争对手。然而现在PowerBuilder程序员处于需求的最底层。不过预计今年推出的PowerBuilder 11已经可以生成.NET代码。
8.Certified NetWare Engineers:90年代成为一位Certified NetWare Engineer是很时髦的事,一度让Novell在PC服务业占据90%的市场份额。然而两年的时间人们便转向了NT。“就像一夜之间发生的一样。”
9.PC network administrators:越来越多的人转到Windows servers,network administrators(网络管理员)的需求越来越少。
10.OS/2:最初由微软和IBM联合在1987年隆重推出,然而不久合作破裂,IBM在经过一段时间为OS/2的消亡辟谣之后,还是在2005年终止了销售。现在OS/2还是有一个专门的社区,这款开放的操作系统仍被一家叫Serenity Systems International 的公司以eComStation的名字销售。
coolbean | 23 九月, 2007 07:19
放弃自我辩护
你见过黑客吗?你想象中的黑客是什么模样?白永春就是一名黑客,云南大学本科毕业,曾在昆明一家科技公司工作。
被告席上,白永春看起来有点木讷。回答审判长提问的时候,他的右手不停地摩挲左手臂,云南玉溪口音浓重,不少音节略过,让他的话时而清晰时而含糊。不过,法庭上,他很配合,承认了所有指控;审判长问他是否需要自我辩护,他说不要。
但就是他,不到一个月就攻破了六七家网站,随时窥视十五六台电脑的操作者的一举一动。“这让我很有成就感,在我们黑客看来,侵入网站、操控多个服务器才算有成就。”在笔录里,白永春这样说。
下载黑客软件
白永春说,母亲生病,女朋友也生病,自己月薪虽有2000多元,但还不够给她们治病,于是想上网偷盗来钱会比较快。
“如果自己编写一套木马程序,差不多要1年多,从网上下载就方便多了。”白永春说,今年初,他上了一个黑客网站,正有人在发帖推荐木马程序的网址,他赶紧跟帖,没过多久就下载了“灰鸽子2006vip破解版”等黑客软件。然后,他用这些软件攻击了六七家网站。被害人蔡先生浏览了被攻击的网页后,电脑就自动植入了“灰鸽子”等黑客程序。
“十五六台电脑都中了木马
病毒,那些人在电脑上做些什么,我随时能看到。有一天,我看见被害人蔡先生的个人账户里竟有19万元,就打算偷了。”此后,白永春远程控制了蔡先生网上银行的账号、密码,以及电子认证证书。
冒名转账取钱
白永春在人才市场捡到一份“郭荣华”的个人简历资料,靠街头黑广告牵线搭桥,制作了一张假身份证,到银行为“郭荣华”开设账户。然后,他又回到网络世界,用被害人蔡先生的网上银行信息登录后,转账十多次,一共偷盗了16万元,再用“郭荣华”的身份去银行取钱。
前天的庭审很简短,审判长宣布择日宣判。时常行走在现实与虚拟之间的黑客白永春,驾御一套木马程序,跨过了守法的底线,面临着一段牢狱生涯。
coolbean | 19 九月, 2007 18:09
目前人们逐渐认识了磁盘阵列技术。磁盘阵列技术可以详细地划分为若干个级别0-5 RAID技术,并且又发展了所谓的 RAID Level 10, 30, 50的新的级别。RAID是廉价冗余磁盘阵列(Redundant Array of Inexpensive Disk)的简称。用RAID的好处简单的说就是:安全性高,速度快,数据容量超大。
某些级别的RAID技术可以把速度提高到单个硬盘驱动器的400%。磁盘阵列把多个硬盘驱动器连接在一起协同工作,大大提高了速度,同时把硬盘系统的可靠性提高到接近无错的境界。这些“容错”系统速度极快,同时可靠性极高。
coolbean | 18 九月, 2007 17:11
coolbean | 18 九月, 2007 17:07
coolbean | 18 九月, 2007 17:05
coolbean | 17 九月, 2007 13:13

日前,有部分全国政协委员曾经提议:鉴于联合国教科文组织的世界教师节、美国、中国台湾和香港的教师节,都是统一在孔子诞辰日(9月28日),建议国家教育部也应该把这一天与台湾、香港统一定为“中国教师节”。其理由:从文化、教育的角度来分析,以往所定的中国教师节(9月10日)尚未确定与我国的历史文化有任何渊源关系?我认为这一提议非常好,值得投赞成票!
coolbean | 17 九月, 2007 12:18
coolbean | 13 九月, 2007 17:40
使用Visual Basic 6实现真正实用的多线程处理
事实上使用Visual Basic的ActiveX exe技术可以轻松的实现多线程处理.
原理先不说了,先举个示例,有兴趣的话大家可以一起讨论
1.新建一个工程,类型选择ActiveX Exe,工程重命名为TestExe
在工程中添加一个Form,放上一个Timer控件.
将Class1改名为clsTest,注意其Instancing要设置为5-MultiUse, 以下是其代码:
Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private WithEvents oTimer As Timer
Private frmTmp As Form1
Private lTotalLoop As Long
Private bDoStop As Boolean
Private lInterval As Long
Public Event Progress(ByVal lProgress As Long)
Public Sub StartSub(ByVal lTotal As Long)
lTotalLoop = lTotal
oTimer.Enabled = True
End Sub
Public Sub StopSub()
bDoStop = True
End Sub
Private Sub Class_Initialize()
Set frmTmp = New Form1
Load frmTmp
Set oTimer = frmTmp.Timer1
oTimer.Enabled = False
bDoStop = False
lInterval = 1
End Sub
Private Sub DoLoop()
Dim i As Long
For i = 0 To lTotalLoop
Sleep (lInterval)
RaiseEvent Progress(i)
If bDoStop = True Then
Exit Sub
End If
Next
End Sub
Private Sub Class_Terminate()
Unload frmTmp
Set frmTmp = Nothing
Set oTimer = Nothing
End Sub
Private Sub oTimer_Timer()
oTimer.Enabled = False
DoLoop
End Sub
Public Property Get lMillisecs() As Long
lMillisecs = lInterval
End Property
Public Property Let lMillisecs(ByVal vNewValue As Long)
lInterval = vNewValue
End Property
在TestExe Property(工程属性)的Threading Model中,设置Thread per Object,或者选择Thread pool中设置大于1的数值.如把Thread pool设置为2, 则调用此ActiveX Exe最多能同时有两个线程, 更多的请求将放置于队列中.
编译TestExe
下面来测试我们的多线程程序:
coolbean | 10 九月, 2007 02:16
This tip shows you how to show and hide the title bar of a window at run-time. To make a window's title bar disappear, you have to remove the control box, the maximise box and the minimise box as well as set the caption of the form to blank. Unfortunately, VB's ControlBox, MinButton and MaxButton properties of a form are read-only so you can normally only do this at design time. However, by manipulating the style of the window using API calls, you can get the same thing to happen at run-time.
Start a new project in VB. Add the following code to the project's form:
Private Declare Function SetWindowLong Lib "user32" _
Alias "SetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" _
Alias "GetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Const GWL_STYLE = (-16)
Private Const WS_CAPTION = &HC00000 ' WS_BORDER Or WS_DLGFRAME
Private Const WS_MAXIMIZEBOX = &H10000
Private Const WS_MINIMIZEBOX = &H20000
Private Const WS_SYSMENU = &H80000
Private Declare Function SetWindowPos Lib "user32" _
(ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _
ByVal x As Long, ByVal y As Long, _
ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Enum ESetWindowPosStyles
SWP_SHOWWINDOW = &H40
SWP_HIDEWINDOW = &H80
SWP_FRAMECHANGED = &H20 ' The frame changed: send WM_NCCALCSIZE
SWP_NOACTIVATE = &H10
SWP_NOCOPYBITS = &H100
SWP_NOMOVE = &H2
SWP_NOOWNERZORDER = &H200 ' Don't do owner Z ordering
SWP_NOREDRAW = &H8
SWP_NOREPOSITION = SWP_NOOWNERZORDER
SWP_NOSIZE = &H1
SWP_NOZORDER = &H4
SWP_DRAWFRAME = SWP_FRAMECHANGED
HWND_NOTOPMOST = -2
End Enum
Private Declare Function GetWindowRect Lib "user32" ( _
ByVal hwnd As Long, lpRect As RECT) As Long
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Function ShowTitleBar(ByVal bState As Boolean)
Dim lStyle As Long
Dim tR As RECT
' Get the window's position:
GetWindowRect Me.hwnd, tR
' Modify whether title bar will be visible:
lStyle = GetWindowLong(Me.hwnd, GWL_STYLE)
If (bState) Then
Me.Caption = Me.Tag
If Me.ControlBox Then
lStyle = lStyle Or WS_SYSMENU
End If
If Me.MaxButton Then
lStyle = lStyle Or WS_MAXIMIZEBOX
End If
If Me.MinButton Then
lStyle = lStyle Or WS_MINIMIZEBOX
End If
If Me.Caption <> "" Then
lStyle = lStyle Or WS_CAPTION
End If
Else
Me.Tag = Me.Caption
Me.Caption = ""
lStyle = lStyle And Not WS_SYSMENU
lStyle = lStyle And Not WS_MAXIMIZEBOX
lStyle = lStyle And Not WS_MINIMIZEBOX
lStyle = lStyle And Not WS_CAPTION
End If
SetWindowLong Me.hwnd, GWL_STYLE, lStyle
' Ensure the style takes and make the window the
' same size, regardless that the title bar etc
' is now a different size:
SetWindowPos Me.hwnd, _
0, tR.Left, tR.Top, _
tR.Right - tR.Left, tR.Bottom - tR.Top, _
SWP_NOREPOSITION Or SWP_NOZORDER Or SWP_FRAMECHANGED
Me.Refresh
' Ensure that your resize code is fired, as the client area
' has changed:
Form_Resize
End Function
To try out the hiding and showing the title bar, add a CheckBox to the project's form. Set the check box's Value property to 1 (Checked). Then put the following code under the Check box's click event:
Private Sub Check1_Click()
If (Check1.Value = Checked) Then
ShowTitleBar True
Else
ShowTitleBar False
End If
End Sub
When you click on the check box, the form's titlebar will be alternately hidden and shown.
coolbean | 10 九月, 2007 02:11
If you are designing a project which can use an Internet connection, it can be useful to know whether the system is connected or not. There are various methods of doing this, however the most informative and reliable method is to use the WinInet.DLL InternetGetConnectedStateEx API call. The only problem with this call is it is only implemented for the WinInet.DLL version shipped with Internet Explorer version 4.0 or higher.
To test out this function, start a new project and add the following code:
Public Declare Function InternetGetConnectedStateEx Lib "wininet.dll" _
Alias "InternetGetConnectedStateExA" _
(ByRef lpdwFlags As Long, _
ByVal lpszConnectionName As String, _
ByVal dwNameLen As Long, _
ByVal dwReserved As Long _
) As Long
Public Enum EIGCInternetConnectionState
INTERNET_CONNECTION_MODEM = &H1&
INTERNET_CONNECTION_LAN = &H2&
INTERNET_CONNECTION_PROXY = &H4&
INTERNET_RAS_INSTALLED = &H10&
INTERNET_CONNECTION_OFFLINE = &H20&
INTERNET_CONNECTION_CONFIGURED = &H40&
End Enum
Public Property Get InternetConnected( _
Optional ByRef eConnectionInfo As EIGCInternetConnectionState, _
Optional ByRef sConnectionName As String _
) As Boolean
Dim dwFlags As Long
Dim sNameBuf As String
Dim lR As Long
Dim iPos As Long
sNameBuf = String$(513, 0)
lR = InternetGetConnectedStateEx(dwFlags, sNameBuf, 512, 0&)
eConnectionInfo = dwFlags
iPos = InStr(sNameBuf, vbNullChar)
If iPos > 0 Then
sConnectionName = Left$(sNameBuf, iPos - 1)
ElseIf Not sNameBuf = String$(513, 0) Then
sConnectionName = sNameBuf
End If
InternetConnected = (lR = 1)
End Property
To try out the code, add a CommandButton and a Multi-Line TextBox to your test project's main form. Then add the following code to try the function:
Private Sub Command1_Click()
Dim eR As EIGCInternetConnectionState
Dim sMsg As String
Dim sName As String
Dim bConnected As Boolean
' Determine whether we have a connection:
bConnected = InternetConnected(eR, sName)
' The connection state info parameter provides details
' about how we connect:
If (eR And INTERNET_CONNECTION_MODEM) = INTERNET_CONNECTION_MODEM Then
sMsg = sMsg & "Connection uses a modem." & vbCrLf
End If
If (eR And INTERNET_CONNECTION_LAN) = INTERNET_CONNECTION_LAN Then
sMsg = sMsg & "Connection uses LAN." & vbCrLf
End If
If (eR And INTERNET_CONNECTION_PROXY) = INTERNET_CONNECTION_PROXY Then
sMsg = sMsg & "Connection is via Proxy." & vbCrLf
End If
If (eR And INTERNET_CONNECTION_OFFLINE) = INTERNET_CONNECTION_OFFLINE Then
sMsg = sMsg & "Connection is Off-line." & vbCrLf
End If
If (eR And INTERNET_CONNECTION_CONFIGURED) = INTERNET_CONNECTION_CONFIGURED Then
sMsg = sMsg & "Connection is Configured." & vbCrLf
Else
sMsg = sMsg & "Connection is Not Configured." & vbCrLf
End If
If (eR And INTERNET_RAS_INSTALLED) = INTERNET_RAS_INSTALLED Then
sMsg = sMsg & "System has RAS installed." & vbCrLf
End If
' Display the connection name and info:
If bConnected Then
Text1.Text = "Connected: " & sName & vbCrLf & vbCrLf & sMsg
Else
Text1.Text = "Not Connected: " & sName & vbCrLf & vbCrLf & sMsg
End If
End Sub
Run the project. When you click the command button, the text box will be updated with the status of the current connection, the name of RAS dial-up connection used (if applicable) and also various information about how the connection is being achieved (i.e. by modem or LAN, via a proxy and whether the connection is configured or not).
| « | 九月 2007 | » | ||||
|---|---|---|---|---|---|---|
| 一 | 二 | 三 | 四 | 五 | 六 | 日 |
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |