樓上vb的可行,在vb.net中不行,vb.net格式如下
創(chuàng)新互聯(lián) - 服務器托管,四川服務器租用,成都服務器租用,四川網(wǎng)通托管,綿陽服務器托管,德陽服務器托管,遂寧服務器托管,綿陽服務器托管,四川云主機,成都云主機,西南云主機,服務器托管,西南服務器托管,四川/成都大帶寬,成都機柜租用,四川老牌IDC服務商
Imports?System.Collections.Generic
Imports?System.ComponentModel
Imports?System.Data
Imports?System.Drawing
Imports?System.Text
Imports?System.Windows.Forms
Imports?System.Runtime.InteropServices
Public?Class?Form2
'定義結(jié)構(gòu)體
Private?Structure?LASTINPUTINFO
Public?cbSize?As?Int32
Public?dwTime?As?Int32
End?Structure
'引入系統(tǒng)API
Private?Declare?Function?GetLastInputInfo?Lib?"user32"?(ByVal?plii?As?IntPtr)?As?Long?'重新定義為?IntPtr
'在計時器中,進行相應的計算
Private?Sub?Timer1_Tick(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Timer1.Tick
'獲取系統(tǒng)的運行時間
Dim?systemUpTime?As?Integer?=?Environment.TickCount
Dim?LastInputTicks?As?Integer?=?0
Dim?IdleTicks?As?Integer?=?0
Dim?LastInputInfo?As?New?LASTINPUTINFO()
LastInputInfo.cbSize?=?Len(LastInputInfo)
Dim?thObject2?As?Runtime.InteropServices.GCHandle?=?Runtime.InteropServices.GCHandle.Alloc(LastInputInfo,?Runtime.InteropServices.GCHandleType.Pinned)
Dim?tpObject2?As?IntPtr?=?thObject2.AddrOfPinnedObject()?'取得指向結(jié)構(gòu)的指針
'獲取用戶上次操作的時間
If?GetLastInputInfo(tpObject2)?Then
LastInputTicks?=?CInt(thObject2.Target.dwTime)
'LastInputTicks?=?CInt(LastInputInfo.dwTime)
'求差,就是系統(tǒng)空閑的時間
IdleTicks?=?systemUpTime?-?LastInputTicks
End?If
lblSystemUpTime.Text?=?"系統(tǒng)運行時間:"?+?Convert.ToString(systemUpTime?/?1000)?+?"?秒"
lblIdleTime.Text?=?"系統(tǒng)空閑時間:"?+?Convert.ToString(IdleTicks?/?1000)?+?"?秒"
End?Sub
End?Class
MessageBox里的Show里沒有自動關(guān)閉的方法,但是你可以自定義一個MessageBox,MessageBox就是一個窗體,你新建一個窗體Form2,添加一個public屬性message和一個定時器timer1,timer1的interval設置成你想要的時間,在Form2的Load事件啟動timer1,Timer1_Tick事件里關(guān)閉窗口Me.Close(),然后在需要顯示Messagebox的時候,在主窗口Form1里設置messge屬性,然后用show方法彈出窗口就可以了。
Form1程序:(添加了一個Button1)
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim f2 As Form2 = New Form2
f2.Message = "提示"
f2.ShowDialog()
End Sub
End Class
Form2程序:(添加了一個Label1顯示信息和一個Timer1用于計時,F(xiàn)orm2可以自定義成你想要的樣式,標題,按鈕,窗體樣式等)
Public Class Form2
'自定義屬性 顯示提示信息
Public WriteOnly Property Message As String
Set(value As String)
Label1.Text = value
End Set
End Property
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
Me.Close()
End Sub
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Timer1.Interval=3000 '定時3秒關(guān)閉窗口
Timer1.Enabled = True
End Sub
End Class
代碼已在VS2017測試通過。
Windows
XP的關(guān)機是由Shutdown.exe程序來控制的,位于Windows\System32文件夾中。如果想讓Windows
2000也實現(xiàn)同樣的效果,可以把Shutdown.exe復制到系統(tǒng)目錄下。
比如你的電腦要在22:00關(guān)機,可以選擇“開始→運行”,輸入“at
22:00
Shutdown
-s”,這樣,到了22點電腦就會出現(xiàn)“系統(tǒng)關(guān)機”對話框,默認有30秒鐘的倒計時并提示你保存工作。如果你想以倒計時的方式關(guān)機,可以輸入“Shutdown.exe
-s
-t
3600”,這里表示60分鐘后自動關(guān)機,“3600”代表60分鐘。
設置好自動關(guān)機后,如果想取消的話,可以在運行中輸入“shutdown
-a”。另外輸入“shutdown
-i”,則可以打開設置自動關(guān)機對話框,對自動關(guān)機進行設置。
Shutdown.exe的參數(shù),每個都具有特定的用途,執(zhí)行每一個都會產(chǎn)生不同的效果,比如“-s”就表示關(guān)閉本地計算機,“-a”表示取消關(guān)
機操作,下面列出了更多參數(shù),大家可以在Shutdown.exe中按需使用。
其他的我也不多說了,這樣說已經(jīng)很詳細了,你應該能看懂。
系統(tǒng)托盤里顯示圖標的話用NotifyIcon組件,建立一個ContextMenuStrip控件與之關(guān)聯(lián)。關(guān)聯(lián)的位置在NotifyIcon.ContextMenuStrip。關(guān)機直接shell 命令列:rundll32.exe user.exe,exitwindows就可以,聲音提示用My.Compurer.Audio.Play ("路徑"),提示消息用Msgbox函數(shù)……通過判斷返回值在確定是否關(guān)機……手頭沒有VB.Net……大概思路就是這樣,不知道能不能對你有幫助……如果要代碼的話,不忙的時候可以給你寫
分享名稱:vb.net自動關(guān)機 vb自動關(guān)機的代碼
URL網(wǎng)址:http://aaarwkj.com/article18/doooedp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設計公司、網(wǎng)站營銷、服務器托管、定制網(wǎng)站、電子商務、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)