引用 | 编辑
绿茶三头犬
2013-01-25 06:46 |
楼主
▼ |
||
x0
1. www.abc.com/index.php 能否载入成功,若能则显示 Label1,else 显示 Label22. 读取 ini 问题,虽然在网上找到方法,也十分成功,但网上的方法大多是 PartA_1=TestA1 PartB_1=TestB1 Dim lReturnLen1 As UInt64 Dim sSection1 As String = "Part1" '区段 Dim sKey1 As String = "PartA_1&qu .. 访客只能看到部份内容,免费 加入会员 x0
|
引用 | 编辑
ebolaman
2013-01-27 14:12 |
1楼
▲ ▼ |
P.S. 文章标题最好改一下,以利搜寻功能
1. 可以用 HttpWebRequest 和 HttpWebResponse 来测试网站的回应 除此之外,在连接完成后,可以进一步取得网页 或是 作其他的 request 底下的 tryConnect 连接成功会传回 true 复制程式 Private Function tryConnect() Dim httpReq As Net.HttpWebRequest = Net.WebRequest.Create("http://www.google.com") Dim httpRes As Net.HttpWebResponse httpReq.Method = "GET" '尝试连接 Try httpRes = httpReq.GetResponse Catch ex As Net.WebException MessageBox.Show(ex.Message) Return False End Try '检查 StatusCode (正确的话通常是 200 = Net.HttpStatusCode.OK) If httpRes.StatusCode = Net.HttpStatusCode.OK Then MessageBox.Show("OK") Return True Else MessageBox.Show("Oops!! Status code = " & httpRes.StatusCode) Return False End If End Function 2. 最简单的办法是用 REGEX (regular expression) 第一行的 pattern 是 \[.+\][\r\n]+(.+=[^\r\n]+)[\r\n] \[ -> [ .+ -> 任何字元 \] -> ] [\r\n]+ -> 超过一次以上的 CrLf [^\r\n]+ -> 一次以上的非 CrLf 的字元 用刮号 () 是为了取得想要的部分而已,即是 以下 code 中 match(i).Groups(1).Value 抓到的值 要测试 regex 有许多软体可以测试,除了维基提供的 regex 编辑器 还有 Notepad++ 的插件 RegEx Helper 和免费版非常好用的的 Rad Software Regular Expression Designer 和不是免费版但却很高级的 Expresso 其实大部分的文字编辑器搜寻部分就有 Regex 的功能 (ex. Sublime Text, Notepad++, EmEditor, gVIM, Emacs, UltraEdit, TextMate, ...) 几乎所有程式设计软体也都有内建的 Regex 复制程式 Private Function tryParse(ByVal s As String) Dim pattern As String = "\[.+\][\r\n]+(.+=[^\r\n]+)[\r\n]" '[XXX] <CrLf> XXX=XXX <CrLf> Dim match As System.Text.RegularExpressions.MatchCollection = System.Text.RegularExpressions.Regex.Matches(s, pattern) If 0 <> match.Count Then '如果 match 成功 For i As Integer = 0 To match.Count - 1 Dim val As String = match(i).Groups(1).Value MessageBox.Show(val) Next Return True Else Return False End If End Function 3. 参考程式码 复制程式 Private Function stopService(ByVal s As String) 'Reference: http://www.vbforums.com/showthread.php?678233-RESOLVED-Stopping-a-Service-using-VB.Net Dim sc As New System.ServiceProcess.ServiceController sc.ServiceName = s sc.MachineName = Environment.MachineName Try If sc.Status = ServiceProcess.ServiceControllerStatus.Stopped Then '服务早就停止 Return True Else sc.Refresh() sc.Stop() sc.WaitForStatus(ServiceProcess.ServiceControllerStatus.Stopped) Return True End If Catch ex As Exception MessageBox.Show(ex.Message) Return False End Try End Function Private Function startService(ByVal s As String) 'Reference: http://www.vbforums.com/showthread.php?678233-RESOLVED-Stopping-a-Service-using-VB.Net Dim sc As New System.ServiceProcess.ServiceController sc.ServiceName = s sc.MachineName = Environment.MachineName Try If sc.Status = ServiceProcess.ServiceControllerStatus.Running Then '服务早就在跑 Return True Else sc.Refresh() sc.Start() sc.WaitForStatus(ServiceProcess.ServiceControllerStatus.Running) Return True End If Catch ex As Exception MessageBox.Show(ex.Message) Return False End Try End Function Examples: 例如想关掉 Remote Registry 服务 可以用 Win7 的工作管理员中的服务列表查 名称是 RemoteRegistry 或是用软体 System Explorer 来查 注意 description 是 "Remote Registry" 有一个空格 而真正的 name 是 "RemoteRegistry" 没有空格 呼叫函式要用 name 而不是 description stopService("RemoteRegistry") 来关闭服务 startService("RemoteRegistry") 来重新执行服务 处理成功函式会传回 true x1 |
引用 | 编辑
绿茶三头犬
2013-01-27 19:23 |
2楼
▲ ▼ |
下面是引用 ebolaman 于 2013-01-27 14:12 发表的 : Private Function SwitchService(ByVal strSvcName As String, ByVal blnOpen As Boolean) As Boolean Dim strWMIcls As String Dim objSvc As Object strWMIcls = "Win32_Service" objSvc = GetObject("winmgmts:").InstancesOf(strWMIcls)(strWMIcls & ".Name=""" & strSvcName & """") SwitchService = CallByName(objSvc, IIf(blnOpen, "StartService", "StopService"), 1) = 0 End Function SwitchService("wuauserv", False) SwitchService("W32Time", True) 1. 其实这个与你的写法那个较好? (噢,你那个较好点) 2. 不如先说我要制作甚么,是类似释放记忆体的程式,类似 Game Booster / JetBoost 不过想自行制作,但怎清理电脑内存 - -? 即是按一下 Button 便能 Free memory 若只释放我的程式我就懂,但释放电脑记忆体就太难吧 - -? 最好每一分钟释放一次,太频密应该会导致程式出现异常吧? 3. 优先权先否将记忆体尽量分配在高优先度应用程式? x0 |