好像不難吧?
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:空間域名、網(wǎng)站空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、鶴城網(wǎng)站維護(hù)、網(wǎng)站推廣。
我放進(jìn)了Button1的Click事件里。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
On Error GoTo Errmessages '在做系統(tǒng)操作時(shí)加排錯(cuò)標(biāo)簽是個(gè)好習(xí)慣
Dim TargetName As String = "ibmdict" '存儲(chǔ)進(jìn)程名為文本型,注:進(jìn)程名不加擴(kuò)展名
Dim TargetKill() As Process = Process.GetProcessesByName(TargetName) '從進(jìn)程名獲取進(jìn)程
Dim TargetPath As String '存儲(chǔ)進(jìn)程路徑為文本型
If TargetKill.Length 1 Then '判斷進(jìn)程名的數(shù)量,如果同名進(jìn)程數(shù)量在2個(gè)以上,用For循環(huán)關(guān)閉進(jìn)程。
For i = 0 To TargetKill.Length - 1
TargetPath = TargetKill(i).MainModule.FileName
TargetKill(i).Kill()
Next
ElseIf TargetKill.Length = 0 Then '判斷進(jìn)程名的數(shù)量,沒(méi)有發(fā)現(xiàn)進(jìn)程直接彈窗。不需要的,可直接刪掉該If子句
MsgBox("沒(méi)有發(fā)現(xiàn)進(jìn)程!")
Exit Sub
ElseIf TargetKill.Length = 1 Then '判斷進(jìn)程名的數(shù)量,如果只有一個(gè),就不用For循環(huán)
TargetKill(0).Kill()
End If
MsgBox("已終止" TargetKill.Length "個(gè)進(jìn)程") '彈窗提示已終止多少個(gè)進(jìn)程
Errmessages: ‘定義排錯(cuò)標(biāo)簽
If Err.Description Nothing Then ’判斷有無(wú)錯(cuò)誤,如果有,則 ↓
MsgBox(Err.Description) '當(dāng)出現(xiàn)錯(cuò)誤時(shí),彈窗提示
End If
End Sub
可根據(jù)需要自行修改,這個(gè)備注夠完善了吧?不會(huì)的再Hi我。
程序的意思就是2個(gè)按鈕,一個(gè)開(kāi)始,一個(gè)停止。點(diǎn)開(kāi)始按鈕,程序拋出一個(gè)線程,計(jì)算2個(gè)GUID的值并在Label上顯示,點(diǎn)停止線程結(jié)束。
namespace GUIDTEST
{
public partial class Form1 : Form
{
Thread t;
public Form1()
{
InitializeComponent();
t = new Thread(new ThreadStart(GuidProc));
}
private void button2_Click(object sender, EventArgs e)
{
t.Suspend();
}
private void button1_Click(object sender, EventArgs e)
{
t.Start();
}
public void GuidProc()
{
int i = 0;
while (true)
{
string s1 = Guid.NewGuid().ToString();
label4.Text = s1;
label4.Refresh();
string s2 = Guid.NewGuid().ToString();
label5.Text = s2;
label5.Refresh();
i++;
label6.Text = i.ToString();
}
}
}
}
調(diào)試失敗。
用time控件啊,獲取threadstate后,按指定時(shí)間間隔規(guī)定向界面刷新,線程必須是全局變量
用一個(gè)有退出條件的無(wú)限循環(huán)的sub也行。
線程開(kāi)始就觸發(fā)該過(guò)程,用無(wú)限循環(huán)來(lái)刷新?tīng)顟B(tài),線程完成即退出無(wú)限循環(huán)。局部變量的線程也可以用這種方式。
不過(guò)用法要正確,否則會(huì)出問(wèn)題。
Sub aaa()
MsgBox("111")
application.exit
End Sub
使用api
Private Declare Function TerminateThread Lib "kernel32" (ByVal hThread As Long, ByVal dwExitCode As Long) As Long