方法一:系統(tǒng)任務(wù)欄上鼠標(biāo)右鍵啟動任務(wù)管理器---進(jìn)程選項(xiàng)中可查到你要的!

成都一家集口碑和實(shí)力的網(wǎng)站建設(shè)服務(wù)商,擁有專業(yè)的企業(yè)建站團(tuán)隊(duì)和靠譜的建站技術(shù),十年企業(yè)及個(gè)人網(wǎng)站建設(shè)經(jīng)驗(yàn) ,為成都近1000家客戶提供網(wǎng)頁設(shè)計(jì)制作,網(wǎng)站開發(fā),企業(yè)網(wǎng)站制作建設(shè)等服務(wù),包括成都營銷型網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),同時(shí)也為不同行業(yè)的客戶提供網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站的服務(wù),包括成都電商型網(wǎng)站制作建設(shè),裝修行業(yè)網(wǎng)站制作建設(shè),傳統(tǒng)機(jī)械行業(yè)網(wǎng)站建設(shè),傳統(tǒng)農(nóng)業(yè)行業(yè)網(wǎng)站制作建設(shè)。在成都做網(wǎng)站,選網(wǎng)站制作建設(shè)服務(wù)商就選創(chuàng)新互聯(lián)。
方法二:鍵盤按Ctrl+Alt+Delete 直接啟動任務(wù)管理器
錯(cuò)了 你說的是VB中 我看錯(cuò)了呵呵 我查查再回答哈
Private Sub Form_Load()
If App.PrevInstance Then
End
End If
End Sub
用DDE實(shí)現(xiàn)窗體防止運(yùn)行多個(gè)實(shí)例并傳遞命令
上網(wǎng)的朋友一定都用過網(wǎng)絡(luò)螞蟻(Net Ants)的吧?不知你在使用過程中有沒有注意過,那就是如果你想調(diào)動兩個(gè)“螞蟻”為您效力是不可能的——它總會把新運(yùn)行的關(guān)閉。這點(diǎn)在VB中很容易實(shí)現(xiàn):
Private Sub Form_Load()
If App.PrevInstance Then
MsgBox "你已經(jīng)運(yùn)行這個(gè)應(yīng)用程序了"
End ' 退出新運(yùn)行的程序
End If
End Sub
這樣如果你運(yùn)行這個(gè)程序后在運(yùn)行它,它會彈出一個(gè)消息框并拒絕再次運(yùn)行。這非常容易。 而“螞蟻”程序的妙處就在于:在重復(fù)運(yùn)行“螞蟻”時(shí)它不僅拒絕運(yùn)行,而且能把已經(jīng)運(yùn)行的“螞蟻”激活,這樣用上面的程序就無能為力了。但事實(shí)上實(shí)現(xiàn)拒絕運(yùn)行并激活已運(yùn)行的
程序有多種方法:
1、用FindWindow函數(shù)得到已經(jīng)運(yùn)行窗體的句柄(HWND),然后用SetActiveWindow等API函數(shù)將其激活。其缺點(diǎn)也很明顯,那就是沒法傳遞參數(shù)。
2、用FindWindow函數(shù)得到已運(yùn)行窗體的句柄后用SendMessage的方法給窗體傳送一個(gè)自定義消息(附帶參數(shù)),然后在窗體中攔截并進(jìn)行處理,但這樣做要修改窗體的標(biāo)準(zhǔn)消息處理程序,用在VC,BC或DELPHI編寫的程序中還行,但在VB中工作量太大,并且容易發(fā)生“一般保護(hù)行錯(cuò)誤”使VB崩潰,不太可取(當(dāng)然,如果你有足夠的信心和不怕崩潰的精神,也可以試一下 ^_^ )。
3、使用DDE技術(shù)。
所謂DDE技術(shù),就是動態(tài)數(shù)據(jù)交換技術(shù)。也許你很奇怪,這與本文所討論的內(nèi)容有什么相干的?
且聽我慢慢講來。
為了實(shí)現(xiàn)拒絕運(yùn)行并把已經(jīng)運(yùn)行的程序激活并實(shí)現(xiàn)各種功能,我們可以先用本文開頭提到的方法,檢測一下程序有沒有被運(yùn)行過,如果沒有,就正常運(yùn)行,如果已經(jīng)被運(yùn)行過,就打通與它的DDE通道,傳給它一個(gè)(或一些)數(shù)據(jù),然后由已經(jīng)運(yùn)行的程序?qū)?shù)據(jù)進(jìn)行處理,再去實(shí)現(xiàn)各種“意想不到”的功能,這時(shí)也許就有人對這你的程序喊:“酷、酷……” ^_^
好了,耳聽為虛,眼見為實(shí),下面讓我們動點(diǎn)真格的。
打開VB,新建一個(gè)工程,選擇菜單中的“工程-工程1 屬性”,把工程名稱改為“P1”(我愛偷懶,能短則短 ^_^ ),把已有的一個(gè)窗體的“LinkTopic”屬性改為“FormDDE”,把“LinkMode”屬性改為“1 - Source”,添加一個(gè)PictureBox控件作為DDE執(zhí)行控件,命名為picDDE。然后添加一個(gè)TextBox控件,命名為“txtInfo”,并把“MultiLine”屬性設(shè)置為“True”,以便顯示多行文本,作為消息顯示控件。
最后在窗體代碼區(qū)輸入以下代碼:
Const COMMANDLINE = "CommandLine=" ' 還是為了省事,定義一個(gè)常量
Private Sub Form_LinkExecute(CmdStr As String, Cancel As Integer)
Static lngCount As Long
Dim Info As String
Info = txtInfo.Text ' 保留原有信息
Select Case CmdStr ' CmdStr 是DDE程序傳送過來的參數(shù)
Case "Max"
Me.WindowState = 2
Info = Info + vbNewLine + "窗體已被最大化"
Case "ShowTime"
Info = Info + vbNewLine + "最后一次運(yùn)行這個(gè)程序的時(shí)間是:" + Str(Now)
Case "Count"
lngCount = lngCount + 1
Info = Info + vbNewLine + "你已經(jīng)第" + Str(lngCount) + "次重復(fù)調(diào)用這個(gè)程序。" _
+ vbNewLine + "但怕您不多給工資,所以只運(yùn)行了一個(gè) ^_^"
End Select
If Left(CmdStr, Len(COMMANDLINE)) = COMMANDLINE Then
Info = Info + vbNewLine + "新程序曾以命令行形式運(yùn)行" + vbNewLine + "命令行為:" _
+ vbNewLine + Right(CmdStr, Len(CmdStr) - Len(COMMANDLINE))
End If
txtInfo.Text = Info ' 把信息顯示出來
Cancel = False
End Sub
Private Sub LinkAndSendMessage(ByVal Msg As String)
Dim t As Long
picDDE.LinkMode = 0 '--
picDDE.LinkTopic = "P1|FormDDE" ' |______連接DDE程序并發(fā)送數(shù)據(jù)/參數(shù)
picDDE.LinkMode = 2 ' | “|”為管道符,是“退格鍵”旁邊的豎線,
picDDE.LinkExecute Msg '-- 不是字母或數(shù)字!
t = picDDE.LinkTimeout '--
picDDE.LinkTimeout = 1 ' |______終止DDE通道。當(dāng)然,也可以用別的方法
picDDE.LinkMode = 0 ' | 這里用的是超時(shí)強(qiáng)制終止的方法
picDDE.LinkTimeout = t '--
End Sub
Private Sub Form_Load()
If App.PrevInstance Then ' 程序是否已經(jīng)運(yùn)行
Me.LinkTopic = "" ' 這兩行用于清除新運(yùn)行的程序的DDE服務(wù)器屬性,
Me.LinkMode = 0 ' 否則在連接DDE程序時(shí)會出亂子的
LinkAndSendMessage "Max" '--
LinkAndSendMessage "Count" ' |-----連接DDE接受程序并傳送數(shù)據(jù)/參數(shù)
LinkAndSendMessage "ShowTime" '--
If Command "" Then ' 如果有命令行參數(shù),就傳遞過去
LinkAndSendMessage COMMANDLINE + Command
End If
End ' 結(jié)束新程序的運(yùn)行
End If
End Sub
測試一下:
把工程“P1”編譯成EXE文件(設(shè)名稱為 P1.EXE )
1、打開“我的電腦”,找到 P1.EXE 并執(zhí)行。可以看到程序正常運(yùn)行了。
2、再運(yùn)行一次,這次新程序沒有運(yùn)行成功,而原來運(yùn)行的程序卻被最大化了,而且文本框中有以下
字符:
窗體已被最大化
你已經(jīng)第 1次重復(fù)調(diào)用這個(gè)程序。
但怕您不多給工資,所以只運(yùn)行了一個(gè) ^_^
最后一次運(yùn)行這個(gè)程序的時(shí)間是:00-2-6 7:11:01
3、打開 MS-DOS方式 ,用命令行方式再次運(yùn)行程序,如 “P1 How Are You?”
這時(shí)原來運(yùn)行的程序文本框中又多了幾行字:
窗體已被最大化
你已經(jīng)第 2次重復(fù)調(diào)用這個(gè)程序。
但怕您不多給工資,所以只運(yùn)行了一個(gè) ^_^
最后一次運(yùn)行這個(gè)程序的時(shí)間是:00-2-6 7:14:32
新程序曾以命令行形式運(yùn)行
命令行為:
How Are You?
OK,運(yùn)行完全正確,然后你就可以把它應(yīng)用的你的程序中了。
Dim?p?As?Process?=?Nothing
Private?Sub?Button1_Click(sender?As?Object,?e?As?EventArgs)?Handles?Button1.Click
p?=?Process.Start("notepad")
End?Sub
Private?Sub?Timer1_Tick(sender?As?Object,?e?As?EventArgs)?Handles?Timer1.Tick
If?p?IsNot?Nothing?AndAlso?p.HasExited?Then
p?=?Nothing
MsgBox("程序已退出!")
End?If
End?Sub
Private?Sub?Form1_Load(sender?As?Object,?e?As?EventArgs)?Handles?MyBase.Load
Timer1.Interval?=?100
Timer1.Enabled?=?True
End?Sub
在VB環(huán)境中執(zhí)行源代碼,本身就是調(diào)試模式
按F8即可逐語句運(yùn)行
點(diǎn)擊語句左端空白處,將其背景色變?yōu)樯罴t,就是添加斷點(diǎn),運(yùn)行到該語句會停下來
可以在變量、對象等語句上點(diǎn)擊右鍵,選擇“添加監(jiān)視”即可
換個(gè)目錄試試,系統(tǒng)盤user目錄權(quán)限較高。然后關(guān)閉殺毒軟件試試。
你的編程思維不太清晰。首先你可以定義一個(gè)全局邏輯,b線程里,對txt操作,就等于真,結(jié)束代碼后就讓它等于假。然后a就可以判斷邏輯變量來確定b的流程
網(wǎng)頁題目:vb.net監(jiān)控進(jìn)程,vb程序遠(yuǎn)程監(jiān)控
分享路徑:http://chinadenli.net/article46/dsgsieg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、網(wǎng)站改版、網(wǎng)站排名、網(wǎng)站設(shè)計(jì)、網(wǎng)站策劃、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)