none
在 VB.Net 下是否有重新開機的指令? RRS feed

  • 問題

  • 請教各位先進:

            在 VB.Net 下是否有使電腦重新開機的 function 或其它的方式?

    2006年9月29日 上午 02:50

解答

  • 退出作業系統可以調用Windows API的ExitWindowsEx函數。

    在Win9x下,只要簡單地調用ExitWindowsEx函數就可以實現關機或者重新啟動。

    但是在Win 2000/XP下調用ExitWindowsEx函數時,還需要先調用AdjustTokenPrivileges函數。

    下面的例子在Win9x和Win 2000/XP下都可以使用。

     

    請參考範例程式中的註解。

    http://www.china-askpro.com/msg2/qa66.shtml

    2007年11月1日 上午 03:40

所有回覆

  • 據我所知沒有,你需要用 Win32 API。
    2006年9月29日 上午 04:10
  • 再請教一個問題,因我已經有使用 Win32 API, 但其動作並未出來,是否我有寫錯的地方,其程式如下: 謝謝!

    Public Const NULL = 0

    Declare Function InitiateSystemShutdownA Lib "advapi32.dll" Alias "InitiateSystemShutdownA" (ByVal lpMachineName As String, ByVal lpMessag As String, ByVal dwTimeout As UInteger, ByVal bForceAppsClosed As Boolean, ByVal bRebootAfterShutdown As Boolean) As Integer

        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

            InitiateSystemShutdownA(NULL, NULL, 20, False, False)
        End Sub

    2006年9月29日 上午 04:19
  • 我記得有一個叫做 ExitWindowsEx() 的 API 可用來關機 ...
    2006年9月29日 下午 01:24
    版主
  • 此 API 也有執行過, 但其動作也未出來, 是否有執行過的範例程式? 謝謝!
    2006年10月2日 上午 12:27
  • 退出作業系統可以調用Windows API的ExitWindowsEx函數。

    在Win9x下,只要簡單地調用ExitWindowsEx函數就可以實現關機或者重新啟動。

    但是在Win 2000/XP下調用ExitWindowsEx函數時,還需要先調用AdjustTokenPrivileges函數。

    下面的例子在Win9x和Win 2000/XP下都可以使用。

     

    請參考範例程式中的註解。

    http://www.china-askpro.com/msg2/qa66.shtml

    2007年11月1日 上午 03:40
  • 程式碼區塊

            private void button1_Click(object sender, EventArgs e)
            {
                ProcessStartInfo psi = new ProcessStartInfo();
                psi.FileName = @"C:\WINDOWS\system32\shutdown.exe";
                psi.Arguments = "-r -t 10";

                Process p = new Process();
                p.StartInfo = psi;
                p.Start();
            }

     

     

    10 秒內重新開機...

     


    程式碼區塊
            -i                      顯示 GUI 介面,必須是第一個選項
            -l                      登出 (不能和 -m 選項一起使用)
            -s                      電腦關機
            -r                      關機並重新啟動電腦
            -a                      中止系統關機
            -m \\\\computername     從遠端進行關機/重新啟動/中止
            -t xx                   將關機等候時間設定成 xx 秒
            -c "comment"            關機註解 (最多 127 個字元)
            -f                      強制關閉執行中的應用程式,不顯示警告
            -d [u][p]:xx:yy         關機原因代碼
                                    u 是使用者代碼
                                    p 是預先計劃的關機代碼
                                    xx 是主要原因代碼 (小於 256 的正整數)
                                    yy 是次要原因代碼 (小於 65536 的正整數)

     

     

     

    2007年11月1日 上午 06:47