我想寫一個程序關閉窗戶N
秒。我知道要關閉窗口的最簡單的方法是調用system()
與寫一個小C程序來關閉Windows中輸入時間
shutdown -s -t XXXX
其中XXXX是給定的時間。但system()
只接受字符串作爲參數。如何在用戶輸入7200時撥打system("shutdown -s -t 7200")
?
我想寫一個程序關閉窗戶N
秒。我知道要關閉窗口的最簡單的方法是調用system()
與寫一個小C程序來關閉Windows中輸入時間
shutdown -s -t XXXX
其中XXXX是給定的時間。但system()
只接受字符串作爲參數。如何在用戶輸入7200時撥打system("shutdown -s -t 7200")
?
我會用InitiateSystemShutdown
代替。您可以使用或ExitWindows
ExitWindowsEx
,但那些都直接支持延遲被問及在原來的問題,所以你必須將代碼添加到做延遲(例如,使用SetTimer
)。這當然是可能的,但是如果不做任何額外的回報就會招致額外的工作。
如果你堅持要用system
,您可以使用sprintf
(或類似的東西)創建的字符串傳遞給system
:
我想調用ExitWindows OP將需要提升權限,否則+1。 – user7116 2012-04-03 20:21:55
@sletterlettervariables:幾乎任何*試圖關閉計算機的東西都需要SE_SHUTDOWN_NAME特權,無論是通過InitiateSystemShutdown,ExitWindows(Ex)還是在命令行上關閉。雖然它被編輯過,但在這種情況下,我會推薦使用ExitWindows(Ex)。要延遲使用它們,你必須自己處理延遲部分 - 額外的工作無法獲得。 – 2012-04-03 20:25:49
我相信['shutdown'確實在內部(http://msdn.microsoft.com/en-us/library/windows/desktop/aa376881.aspx)是所有我指出。 – user7116 2012-04-03 20:28:30
「系統」並不是真正做到這一點的最佳方式。簡單地調用['InitiateSystemShutdown'](http://msdn.microsoft.com/en-us/library/windows/desktop/aa376873(V = vs.85)的.aspx)。 – 2012-04-03 20:14:01
所以你卡在哪裏?獲取用戶輸入?將它作爲字符串追加到系統調用中?別的地方? – AShelly 2012-04-03 20:16:08