2011-05-08 42 views
2

我目前面臨的問題是,我需要每隔一小時執行一個批處理文件,任何人都可以提供一個代碼spinet,每小時啓動一個指定的文件,例如myfile.bat?C++代碼每小時執行一個文件

+0

不幸的是,我沒有可使用的Task Scheduler服務,所以我不能設置任務 – Daniel 2011-05-08 21:08:23

+0

我愛用[A尖晶石(HTTP結合:// en.wikipedia.org/wiki/File:Spinet-q50-2822x829.jpg)[執行文件](http://petruccilibrary.org/wiki/Lessons_for_the_Harpsichord_or_Spinet_(Loeillet,_John))有時 – sehe 2011-05-08 21:43:42

回答

2

根據您的系統環境,您可以使用cronjob輕鬆完成此操作。

隨着/一個cronjob你可以安排它的任何分鐘/小時/天等..

您可以提供的cronjob執行的功能,你可以將一個C++ EXE運行的服務的路徑你需要。

例如:我有一個cronjob每小時計劃一個php函數(這是一個臨時的解決方法,通常我只是運行php腳本)發送用戶預先模擬郵件。

0 * * * *捲曲http://mydomain.com/my_email_scheduler.php

的5個位數前述我的函數調用確定計劃時間

[分鐘] [小時] [日] [月] [星期]命令行以誠待執行

Cron job guide

編輯::剛纔注意到您的評論,你沒有可用的任務調度..然後,我會建議睡每隔一小時一個線程並在執行功能醒來。

+0

拍攝 - 只是看到你的評論,你沒有調度程序可用...你可以睡一個線程喚醒每個小時執行一個函數? – Atticus 2011-05-08 21:14:44

+0

你應該看過我的回答;-) – 2011-05-08 21:15:30

+0

這是 - 沒有看到用戶添加他的評論,直到我的頁面刷新.. – Atticus 2011-05-08 21:16:09

4

這不是你用永遠在進程解決的問題。您應該爲此使用計劃任務。它爲您解決了所有問題。

如果您絕對必須在您自己的代碼中執行此操作,最簡單的解決方案是Sleep()函數。但我強烈建議不要這種方法。

+0

不幸的是,我沒有這個服務可供使用 – Daniel 2011-05-08 21:07:04

+0

你是什麼意思?當然,每臺Windows機器都運行計劃任務。 – 2011-05-08 21:08:47

+0

爲了安全,環境已經進行了大量的調整 – Daniel 2011-05-08 21:09:16

0

使用睡眠的替代方法是使用timers 這確實意味着你需要通過創建GUI的過程(如果它聽起來那麼簡單,可能根本不值得) < - 我的不好。這樣做的好處之一是,你可以確保每半小時執行一次,而不是每半小時+執行一次。

+1

不,我不認爲您需要爲了使用定時器而創建GUI。 – 2011-05-08 21:32:09

+0

@Andreas Rejbrand,所以你不:)我一直使用WM_TIMER消息而不是回調函數,我完全忘記了能夠設置回調。我現在要糾正它。 – Matt 2011-05-08 21:34:18

+0

@Mat你甚至不需要回調函數,如果你願意,你可以創建不可見的窗口。這在很多地方都是非常有用的技巧 - 它允許非GUI應用程序執行需要窗口句柄的事情。 – 2011-05-08 21:41:05

相關問題