做批處理不一定要用 .bat , c++ 也可以,所以這說明 c++ 是乙個多麼棒的語言 ? 錯 ——
因為我懶,所以我只寫成我能看懂的樣子。(這裡面有很多無關緊要的操作,你懂了吧)
有一點需要注意,開啟檔案一定不要用 system() ,這樣會導致無法得到控制台返回的資訊。
至於你能不能拿來用,就得看緣分啦 。// 1. 開啟 d:\program files\nox\nox\bin\nox.exe
startupinfo si =
;// 程序在建立時的外觀資訊
process_information pi;
// 程序建立時的資訊
si.dwflags = startf_useshowwindow;
// startf_useshowwindow :wshowwindow 成員包含其他資訊
si.wshowwindow = true;
// 顯示新建程序的主視窗if(
!createprocess
(null
,// 不在此指定可執行檔案的檔名
_tcsdup
(text
("d:\\program files\\nox\\nox\\bin\\nox.exe"))
,// 命令列引數
null
,// 子程序不繼承新程序物件的控制代碼
null
,// 子程序不繼承新執行緒物件的控制代碼
false,
// 當前程序內控制代碼不被子程序繼承
null
,// 繼承父程序的控制台
null
,// 使用本程序的環境變數
null
,// 使用本程序的驅動器和目錄
&si,
// 指向 startupinfo 結構體的指標
&pi // 指向 process_information 結構體的指標))
// 2. sleep2分鐘
sleep
(30000);
// 3. 執行命令:adb.exe "connect 127.0.0.1:62001"
system
("adb connect 127.0.0.1:62001");
sleep
(3000);
system()
;// 5. sleep6小時
sleep
(21600000);
// 6. 關閉相關程序
system
("taskkill /f /t /im noxvmsvc.exe");
system
("taskkill /f /t /im noxvmhandle.exe");
system
("taskkill /f /t /im noxsrv.exe");
system
("taskkill /f /t /im nox.exe");
// end. 迴圈
goto begin;
getchar()
;return0;
}
通過列舉獲得控制台程序號,結束程序
我用enumprocesses aprocesses,sizeof aprocesses cbneeded 得到所有執行當中的程序的id 然後逐一檢查processname 如果processname是我要找的 pig.exe 則得到它的控制代碼hprocess id應該沒有錯 控制代碼是這樣得到 ...
C 處理控制台關閉事件
我們開發的控制台應用,在執行階段很有可能被使用者ctrl c終止或是被使用者直接關閉。如果我們不希望使用者通過ctrl c終止我們的程式,就需要對ctrl c或關閉事件作處理。在.net平台下console類有個cancelkeypress事件可以處理ctrl c,不過對於直接關閉控制台應用,這種處...
C 控制台實現關閉前的操作,並使關閉按鈕無法使用
c 控制台實現關閉前的操作,並使關閉按鈕無法使用 收藏 控制台的按鈕真不好控制,最近的乙個專案中,要對關閉控制台前對快取資料進行資料庫寫入,所以就有了這麼乙個情境,實現的 如下 view plain copy to clipboard print 10 20 30 40 50 60 70 80 90...