C#進程監控程序

我現在想監控一個進程,如果這個進程在10秒鐘內串口沒有收到數據,然後我就關閉進程,然後再重新打開進程。請問如何實現?最好是有代碼的!!多謝了!這個10秒該如何計數呢??

這個最好在進程內部去監控自身和串口的通信,而不是從進程外部去監控進程。
不能監控啊,現在監控系統都是違法的,你監控用戶的進程,通過用戶同意了嗎?

要監控對象,首先要讓對象告訴你他剛纔幹什麼了?別人不告訴你,你怎麼知道他幹什麼了?除非你在事件到達他那的時候先攔截,打個比方而已,你現在描述的問題就是這個樣子,所以如果你要監控這個進程,肯定要有一個能取到這個進程剛纔有沒有收到數據的方法,然後纔可以幹別的,至於每隔10秒進行一個操作,你可以在進程打開的時候聲明一個Timer,這是一個計時器,用這個就可以實現每隔10秒做一個檢查深受360和QQ毒害,可憐的娃

這個參數是用戶自己定義的,是在另一個頁面中.
  比如定義 HK 20 ,HH 30 ,TestValue2 32 (HK ,HH 是用戶自己定義的,跟定義變量的規則一樣的)
如何使用正則判斷上面的式子是正確的數據表達式呢?(這裏沒有小數和負數)
難整,弄成表達式樹,找找有沒有現成的代碼
已知一個線程的ID,如何終止該線程.
我試了調用windows API的 TerminateThread 函數, 還是無法終止該線程.

線程是在當前進程內,還是在別的進程內?我說了只知道線程ID,無法獲得該線程對象.

這個肯定不行的,這兩函數的參數用到是句柄,想辦法找到句柄...

說是無法得到任意進程的線程句柄,不知道是不是真的這樣。看看下面這些對你有沒有用?
如果得到了一個線程句柄,就可以利用API函數對該線程進行操作,而在擁有該線程的程序不知道的情況下可能會導致嚴重問題,所以Windows不允許這樣做。可以使用CreateToolhelp32Snapshot、Thread32First和Thread32Next(在VC++中這幾個函數定義在tlhelp32.h中。)得到所有線程的ThreadID,但沒有辦法從ID得到句柄,這同進程有所不同。如果真的要得到句柄,必須從線程的創建者或線程本身得到,並使兩個程序協同工作。此外,應用程序可以調用DebugActiveProcess()來控制一個進程,在該進程創建線程時可以得到進程句柄。當前進程.Threads;/*獲取所有線程
循環如果線程的ID等於你要找的編號就結束此線程
這樣不知道行不行.
XPO.NET怎麼學習?有相關資料嗎或者有相關的書籍嗎?

這個if語句中的session調用不成功,系統提示,未將對象引用設置到對象的實例。
參考一下這個,在一般處理程序中使用session需要做特殊的配置

strVlidCode 好像是null,用二樓的方法,在一般處理程序中沒有再提示有上述的錯誤,一點提交那個按鈕,到了if判斷那裏的session又開始提示同樣的問題了。

這個判斷之後,點擊提交重新回到頁面,如何將那個一般處理程序中的session值獲得過來,不讓判斷句裏的session爲空呢,大蝦們,幫忙解決一下。先謝謝啦,我調這個程序就session這裏出問題了,很鬱悶的。

你ValidCode爲空就返回前一頁面唄

我的目的不是讓session的值爲空,我的目的是讓if裏的語句運行。

ssion["ValidCode"]一爲空,通過那個判斷,下面的語句就不運行了。

小女子不才,爲什麼要在方法裏面加個參數HttpContext context Session不是當前會話對象,只要直接使用了就可以了麼?? 而且隨便存個值進去都能獲取到啊
裏面再寫上你裏面的if循環 這樣子不行嗎?

我也覺得既然用了session爲什麼還要用context.session 來保存呢?直接用難道不行?

不知道樓主這個問題解決了沒有,偶也遇到了,和你的問題完全一樣,不是不能引用Context中Session而是前面的Session根本就不傳過來。
一般處理程序中的上下文對象Context中有Session,問題在於這個Session中取不到前面頁面傳過來的Session值

來源:足球直播

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章