<br />
<b>Warning</b>:  Undefined array key "HTTP_ACCEPT_LANGUAGE" in <b>/www/wwwroot/01xj.net/wp-content/plugins/wp-ue/main.php</b> on line <b>13</b><br />
{"id":315,"date":"2012-07-25T13:24:44","date_gmt":"2012-07-25T13:24:44","guid":{"rendered":"http:\/\/www.01xj.net\/0\/?p=315"},"modified":"2012-07-25T13:24:44","modified_gmt":"2012-07-25T13:24:44","slug":"vb-%e5%b7%b2%e7%bb%8f%e5%85%b3%e9%97%ad%e8%bf%9b%e7%a8%8b%e7%9a%84%e8%87%aa%e5%8a%a8%e5%bc%80%e5%90%af","status":"publish","type":"post","link":"https:\/\/www.01xj.net\/?p=315","title":{"rendered":"vb \u5df2\u7ecf\u5173\u95ed\u8fdb\u7a0b\u7684\u81ea\u52a8\u5f00\u542f"},"content":{"rendered":"<div id=\"article_content\">Option ExplicitPrivate RunFile$<\/p>\n<p>Private Const NORMAL_PRIORITY_CLASS = &amp;H20\u00a0\u00a0\u00a0 \u5982\u679c\u8fdb\u7a0b\u4f4d\u4e8e\u524d\u53f0\uff0c\u5219\u57fa\u672c\u503c\u662f9\uff1b\u5982\u679c\u5728\u540e\u53f0\uff0c\u5219\u4f18\u5148\u503c\u4e3a7<br \/>\nPrivate Const INFINITE = &amp;HFFFFFFFF<br \/>\nPrivate Const WAIT_TIMEOUT = &amp;H102&amp;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u5bf9\u8c61\u4fdd\u6301\u672a\u53d1\u51fa\u4fe1\u53f7\u7684\u72b6\u6001\uff0c\u4f46\u7b49\u5f85\u8d85\u65f6\u65f6\u95f4\u5df2\u7ecf\u8d85\u8fc7<br \/>\nPrivate Flag As Boolean \u2018\u8fdb\u7a0b\u6d3b\u52a8\u76d1\u89c6\u6807\u5fd7<br \/>\n\u8bf4\u660e\u2236PROCESS_INFORMATION\u7ed3\u6784\u7531CreateProcess\u51fd\u6570\u5c06\u5173\u4e8e\u65b0\u5efa\u7acb\u7684\u8fdb\u7a0b\u548c<br \/>\n\u4e3b\u8981\u7ebf\u7d22\u7684\u4fe1\u606f\u5199\u5165\u5176\u4e2d\u6210\u5458\u53d8\u91cf<br \/>\nPrivate Type PROCESS_INFORMATION\u00a0\u00a0\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 hProcess As Long<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 hThread As Long<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 dwProcessId As Long<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 dwThreadId As Long<br \/>\nEnd Type<\/p>\n<p>\u8bf4\u660e\u2236STARTUPINFO\u7ed3\u6784\u7528\u5728CreateProcess\u51fd\u6570\u4e2d\u6307\u5b9a\u4e3a\u65b0\u8fdb\u7a0b\u5efa\u7acb\u7684\u65b0\u7a97\u53e3\u7684\u4e3b\u8981\u5c5e\u6027\u3002\u8fd9\u4e00<br \/>\n\u4e00\u4fe1\u606f\u5f71\u54cd\u7531CreateWindows\u51fd\u6570\u5efa\u7acb\u7684\u7b2c\u4e00\u4e2a\u7a97\u53e3<br \/>\nPrivate Type STARTUPINFO<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 cb As Long<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 lpReserved As String<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 lpDesktop As String<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 lpTitle As String<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 dwX As Long<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 dwY As Long<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 dwXSize As Long<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 dwYSize As Long<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 dwXCountChars As Long<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 dwYCountChars As Long<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 dwFillAttribute As Long<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 dwFlags As Long<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 wShowWindow As Integer<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 cbReserved2 As Integer<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 lpReserved2 As Long<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 hStdInput As Long<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 hStdOutput As Long<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 hStdError As Long<br \/>\nEnd Type<br \/>\nPrivate Declare Function CloseHandle Lib &#8220;kernel32&#8221; (ByVal hObject As Long) As Long<br \/>\nPrivate Declare Function WaitForSingleObject Lib &#8220;kernel32&#8221; (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long<br \/>\nPrivate Declare Function CreateProcess Lib &#8220;kernel32&#8221; Alias &#8220;CreateProcessA&#8221; (ByVal lpApplicationName As String, ByVal lpCommandLine As String, ByVal lpProcessAttributes As Long, ByVal lpThreadAttributes As Long, ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, lpEnvironment As Any, ByVal lpCurrentDirectory As String, lpStartupInfo As STARTUPINFO, lpProcessInformation As PROCESS_INFORMATION) As Long<br \/>\nPrivate Declare Function WaitForInputIdle Lib &#8220;user32&#8221; (ByVal hProcess As Long, ByVal dwMilliseconds As Long) As Long<\/p>\n<p>&nbsp;<br \/>\nPrivate Sub command1_Click()<br \/>\n\u00a0\u00a0\u00a0 Dim res&amp;<br \/>\n\u00a0\u00a0\u00a0 Dim sinfo As STARTUPINFO<br \/>\n\u00a0\u00a0\u00a0 Dim pinfo As PROCESS_INFORMATION<br \/>\n\u00a0\u00a0\u00a0 sinfo.cb = Len(sinfo)<br \/>\n\u00a0\u00a0\u00a0 sinfo.lpReserved = vbNullString<br \/>\n\u00a0\u00a0\u00a0 sinfo.lpDesktop = vbNullString<br \/>\n\u00a0\u00a0\u00a0 sinfo.lpTitle = vbNullString<br \/>\n\u00a0\u00a0\u00a0 sinfo.dwFlags = 0<br \/>\n\u00a0\u00a0\u00a0<br \/>\n\u00a0\u00a0\u00a0 Label1.Caption = &#8220;\u6b63\u5728\u542f\u52a8\u7a0b\u5e8f&#8221;<br \/>\n\u00a0\u00a0\u00a0 Label1.Refresh<br \/>\n\u00a0\u00a0\u00a0 CreateProcess\u51fd\u6570\uff0c\u7528\u4e8e\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u8fdb\u7a0b<br \/>\n\u00a0\u00a0\u00a0 res = CreateProcess(DemoFile, vbNullString, 0, 0, True, _<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 NORMAL_PRIORITY_CLASS, ByVal 0&amp;, vbNullString, sinfo, pinfo)<br \/>\n\u00a0\u00a0\u00a0 If res Then<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Label1.Caption = &#8220;\u7a0b\u5e8f\u6b63\u5728\u8fd0\u884c\u4e2d&#8221;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 WaitForTerm pinfo<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Label1.Caption = &#8220;\u7a0b\u5e8f\u5df2\u7ecf\u7ed3\u675f&#8221;<br \/>\n\u00a0\u00a0\u00a0 Else<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Label1.Caption = &#8220;\u542f\u52a8\u7a0b\u5e8f\u65f6\u51fa\u9519\uff0c\u53ef\u80fd\u672a\u6b63\u786e\u8f93\u5165&#8221; &amp; Chr(13) &amp; &#8220;\u7a0b\u5e8f\u540d\u6216\u7a0b\u5e8f\u6240\u5728\u8def\u5f84\u3002&#8221;<br \/>\n\u00a0\u00a0\u00a0 End If<br \/>\nEnd Sub<\/p>\n<p>Private Sub WaitForTerm(pinfo As PROCESS_INFORMATION)<br \/>\n\u00a0\u00a0\u00a0 Dim res&amp;<br \/>\n\u00a0\u00a0\u00a0 Dim res1&amp;<br \/>\n\u00a0\u00a0\u00a0\u00a0 \u7b49\u5f85\u6307\u5b9a\u7684\u8fdb\u7a0b\u8fdb\u5165\u7a7a\u95f2\u72b6\u6001\uff0c,\u7a7a\u95f2(Idle)\u6307\u7684\u662f\u8fdb\u7a0b\u51c6\u5907\u5904\u7406\u4e00\u6761\u6d88\u606f\u3001\u4f46\u76ee\u524d\u6682\u65f6\u6ca1\u6709\u6d88\u606f\u9700\u8981\u5904\u7406\u7684\u4e00\u79cd\u72b6\u6001<br \/>\n\u00a0\u00a0\u00a0 Call WaitForInputIdle(pinfo.hProcess, INFINITE)<br \/>\n\u00a0\u00a0\u00a0 Command1.Enabled = False<br \/>\n\u00a0\u00a0\u00a0 Command2.Enabled = True<br \/>\n\u00a0\u00a0\u00a0 Label1.Refresh<br \/>\n\u00a0\u00a0\u00a0 Do<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 If Flag Then Exit Do<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u7b49\u5f85\u53d1\u51fa\u4fe1\u53f7<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 res = WaitForSingleObject(pinfo.hProcess, 0)<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 If res &lt;&gt; WAIT_TIMEOUT Then\u00a0\u00a0\u00a0\u00a0\u00a0 \u5982\u679c\u5bf9\u8c61\u53d1\u51fa\u4e86\u4fe1\u53f7<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 command1_Click<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Exit Do<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 End If<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 DoEvents<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Debug.Print res<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<br \/>\n\u00a0\u00a0\u00a0 Loop While True<br \/>\n\u00a0\u00a0\u00a0 Command1.Enabled = True<br \/>\n\u00a0\u00a0\u00a0 Command2.Enabled = False<br \/>\n\u00a0\u00a0 End Sub<\/p>\n<p>Private Sub Command3_Click()<br \/>\nFlag = True<br \/>\nEnd Sub<\/p>\n<p>Private Sub Form_Load()<br \/>\n\u00a0\u00a0\u00a0 RunFile = InputBox$(&#8220;\u8bf7\u8f93\u5165\u9700\u8981\u8fd0\u884c\u7684\u7a0b\u5e8f\u540d\u4e0e\u8def\u7ecf&#8221;)<br \/>\n\u00a0\u00a0\u00a0 Flag = False<br \/>\n\u00a0\u00a0\u00a0<br \/>\nEnd Sub<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Option ExplicitPrivate RunFile$ Pr&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21],"tags":[],"class_list":["post-315","post","type-post","status-publish","format-standard","hentry","category-vb"],"_links":{"self":[{"href":"https:\/\/www.01xj.net\/index.php?rest_route=\/wp\/v2\/posts\/315","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.01xj.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.01xj.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.01xj.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.01xj.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=315"}],"version-history":[{"count":2,"href":"https:\/\/www.01xj.net\/index.php?rest_route=\/wp\/v2\/posts\/315\/revisions"}],"predecessor-version":[{"id":317,"href":"https:\/\/www.01xj.net\/index.php?rest_route=\/wp\/v2\/posts\/315\/revisions\/317"}],"wp:attachment":[{"href":"https:\/\/www.01xj.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=315"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.01xj.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=315"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.01xj.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=315"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}