vb.netpid控制,VBNET的編程機(jī)制

vb.net 怎樣控制其它應(yīng)用程序

很簡(jiǎn)單,取到程序句柄,之后找到想控制的控件,通過程序給他改值或控制就可以了

創(chuàng)新互聯(lián)公司長(zhǎng)期為千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為海棠企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)海棠網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

vb.net怎么確定一個(gè)pid是否存在?

正好我寫個(gè)一個(gè)函數(shù)封裝在DLL里了,代碼是這樣的:

''' summary

''' 檢查進(jìn)程是否運(yùn)行

''' /summary

''' param name="ProcessName"要檢查的進(jìn)程名/param

''' returns/returns

''' remarks/remarks

Public Function CheckProcessByName(ByVal ProcessName As String) As Boolean

Dim MgmtClass As New ManagementClass("Win32_Process")

Dim rtnVal As Boolean = False

Dim mo As New ManagementObject()

For Each mo In MgmtClass.GetInstances()

If mo("Name").ToString().ToLower() = ProcessName.ToLower() Then

rtnVal = True

End If

Next

Return rtnVal

End Function

知道PID的話:

''' summary

''' 返回所有窗口句柄

''' /summary

''' returns/returns

''' remarks/remarks

Public Function ListAllProcessesHandle() As String

Dim sb As New StringBuilder()

Dim p As New Process()

For Each p In Process.GetProcesses(".")

Try

If p.MainWindowTitle.Length 0 Then

sb.Append("句柄:" + p.MainWindowHandle.ToString() + Environment.NewLine)

End If

Catch

End Try

Next

Return sb.ToString()

End Function

窗口隱藏進(jìn)程總有吧,函數(shù)調(diào)用的參數(shù)是進(jìn)程名,不是窗口名。

函數(shù)是自己寫的沒有調(diào)用API

vb 如何獲取本程序的PID?

PID不是關(guān)本程序的事的吧。

普遍上定義PID是指:

P:比例

I:積分

D:微分

PID一般只是工控控制器上才用得到的一種模糊控制方式,而PID只是三個(gè)數(shù)值而以,與API無關(guān)。

求一段VB編寫的增量式PID控制程序

#include

#include

"global_varible.h"

/****************************************************************************

*

模塊名:

pid

*

描述:

pid調(diào)節(jié)子程序

*

采用pid-pd算法。在偏差絕對(duì)值大于△e時(shí),用pd算法,以改善動(dòng)態(tài)品質(zhì)。

*

當(dāng)偏差絕對(duì)值小于△e時(shí),用pid算法,提高穩(wěn)定精度。

*

pidout=kp*e(t)+ki*[e(t)+e(t-1)+...+e(1)]+kd*[e(t)-e(t-1)]

*============================================================================

*

入口:

*

出口:

*

改變:

pid_t_run=加熱時(shí)間控制

*****************************************************************************/

void

pid_math(void)

{

signed

long

ee1;

//偏差一階

//signed

long

ee2;

//偏差二階

signed

long

d_out;

//積分輸出

if(!flag_pid_t_ok)

return;

flag_pid_t_ok=0;

temp_set=3700;

//溫度控制設(shè)定值37.00度

pid_e0

=

temp_set-temp_now;

//本次偏差

ee1

=

pid_e0-pid_e1;

//計(jì)算一階偏差

//ee2

=

pid_e0-2*pid_e1+pid_e2;

//計(jì)算二階偏差

if(ee1

500)

//一階偏差的限制范圍

ee1

=

500;

if(ee1

-500)

ee1

=

-500;

pid_e_sum

+=

pid_e0;

//偏差之和

if(pid_e_sum

200)

//積分最多累計(jì)的溫差

pid_e_sum

=

200;

if(pid_e_sum

-200)

pid_e_sum

=

-200;

pid_out

=

pid_kp*pid_e0+pid_kd*ee1;

//計(jì)算pid比例和微分輸出

if(abs(pid_e0)

200)

//如果溫度相差小于1.5度則計(jì)入pid積分輸出

{

if(abs(pid_e0)

100)

//如果溫度相差大于1度時(shí)積分累計(jì)限制

{

if(pid_e_sum

100)

pid_e_sum

=

100;

if(pid_e_sum

-100)

pid_e_sum

=

-100;

}

d_out

=

pid_ki*pid_e_sum;

//積分輸出

if(pid_e0

-5)

//當(dāng)前溫度高于設(shè)定溫度0.5度時(shí)積分累計(jì)限制

{

if(pid_e_sum

150)

pid_e_sum

=

150;

if(pid_e_sum

0)

//當(dāng)前溫度高于設(shè)定溫度0.5度時(shí)削弱積分正輸出

d_out

=

1;

}

pid_out

+=

d_out;

//pid比例,積分和微分輸出

}

else

pid_e_sum=0;

pid_out/=100;

//恢復(fù)被pid_out系數(shù)放大的倍數(shù)

if(pid_out

200)

pid_out=200;

if(pid_out0)

pid_out=0;

if(pid_e0

300)

//當(dāng)前溫度比設(shè)定溫度低3度則全速加熱

pid_out=200;

if(pid_e0

-20)

//當(dāng)前溫度高于設(shè)定溫度0.2度則關(guān)閉加熱

pid_out=0;

hot_t_run=pid_out;

//加熱時(shí)間控制輸出

pid_e2

=

pid_e1;

//保存上次偏差

pid_e1

=

pid_e0;

//保存當(dāng)前偏差

}

////////////////////////////////////////////////////////////void

pid_math()

end.

求大神指點(diǎn) vb.net 怎么通過進(jìn)程pid取所加載的所有模塊 路徑

關(guān)于進(jìn)程的問題你問了多次吧,為何不多看看Process

Dim p As Process() = Process.GetProcessesByName("qq")

If p.Count = 1 Then

Dim p1 As Process = p(0)

Dim m = p1.Modules '進(jìn)程的所有模塊。

End If

Dim p As Process = Process.GetProcessById(Pid)‘通過pid取進(jìn)程。

VB 根據(jù)進(jìn)程PID 激活窗口

AppActivate 可以根據(jù)窗口的標(biāo)題來激活 也可以PID 枚舉進(jìn)程PID代碼 百度下一堆 就不貼了

Dim MyAppID, ReturnValue

AppActivate "Microsoft Word" ' 激活 Microsoft

' Word。

' AppActivate 也可利用 Shell 函數(shù)的返回值。

MyAppID = Shell("C:\WORD\WINWORD.EXE", 1) ' 運(yùn)行 Microsoft Word。

AppActivate MyAppID ' 激活 Microsoft

' Word。

' 您也可使用 Shell 函數(shù)的返回值。

ReturnValue = Shell("c:\EXCEL\EXCEL.EXE",1) ' 運(yùn)行 Microsoft Excel。

AppActivate ReturnValue ' 激活 Microsoft

' Excel。

分享文章:vb.netpid控制,VBNET的編程機(jī)制
文章轉(zhuǎn)載:http://m.kartarina.com/article0/dseehoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站企業(yè)網(wǎng)站制作域名注冊(cè)搜索引擎優(yōu)化網(wǎng)站營(yíng)銷自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
主站蜘蛛池模板: 在线高清无码A.| r级无码视频在线观看| 无码h黄动漫在线播放网站| 无码人妻精品一区二区三区在线| 中文字字幕在线中文无码| 尤物永久免费AV无码网站| 久久精品九九热无码免贵 | 国产精品成人99一区无码| 亚洲AV成人片无码网站| 国产真人无码作爱视频免费 | 变态SM天堂无码专区| 久久无码高潮喷水| 潮喷大喷水系列无码久久精品| 无码人妻久久一区二区三区免费 | 亚洲成av人片不卡无码| 亚洲Av永久无码精品黑人| 亚洲精品无码成人AAA片| 日韩中文无码有码免费视频 | 无码AV波多野结衣久久| 无码国模国产在线无码精品国产自在久国产 | 一本大道无码人妻精品专区| 久久无码AV一区二区三区| 色视频综合无码一区二区三区| 无码人妻丰满熟妇啪啪网站| 国产精品成人无码免费| 欲色aV无码一区二区人妻| 国产V亚洲V天堂无码久久久| 国产精品va无码二区| 男人av无码天堂| 亚洲AV无码XXX麻豆艾秋| 亚洲国产日产无码精品| 久久午夜夜伦鲁鲁片免费无码影视| 亚洲AV无码精品色午夜在线观看| 国产精品免费看久久久无码| 久久青青草原亚洲av无码app | 久久亚洲AV永久无码精品| 国产高清不卡无码视频| 伊人无码精品久久一区二区| 中文字幕无码不卡一区二区三区 | 国产AⅤ无码专区亚洲AV| 无码里番纯肉h在线网站|