電腦定時發送程序如何編譯
A. 如何在Windows系統中設置python程序定時運行
首先,你得安裝python的運行環境唄。。 1. 默認的程序要設置,如果不會設置,就重新裝一次python就行 2. 需要設置環境變數:例如你的程序為:C:\Python26,則你需要把這個地址粘貼在:右鍵我的電腦->屬性->高級->環境變數,然後再下邊的 系統變數 選擇框中,雙擊path(大小寫無所謂),在變數值的框中,添加: ;C:\Python26,記得在路徑之前添加分號(;),當然是英文輸入法下的分號 3. 這一點很重要,因為執行的速度很快的時候,cmd窗口是不會自動pause的,所以會一閃而過。。如果只是print之類的語句,或許根本沒有什麼結果留下。。所以,這種還是選擇用IDLE來運行吧。。。
B. 如何把電腦上的文件定時自動發送到我的郵箱里
這個是不行的,現在最弊宴型先進的也就是你把文件傳到伺服器,然後定時發送,但是你要想到指定時間再自祥喊動從電腦上傳文件是不租猜可以的。
C. 程序是如何編寫的
設計環境 程序也就是指令的集合,它告訴計算機如何執行特殊的任務。
D. 電腦怎麼設置定時執行任務
有時候我們希望電腦能夠在某一指定時間運行特定的軟體程序,應該怎麼做呢?電腦怎麼設置定時執行任務?下文我分享了電腦設置定時執行任務的方法,希望對大家有所幫助。
電腦設置定時執行任務咐核胡方法
1、點擊開始按鈕,選擇“所有程序-附件-系統工具-任務計劃程序”。

E. 怎麼用C語言編定時器
Windows提供了定時器,幫助我們編寫定期發送消息的程序。定時器一般通過一下兩中方式通知應用程序間隔時間已到。
⑴ 給指定窗口發送WM_TIMER消息,也就是下面的給出在窗口類中使用的方法。
⑵ 調用一個應用程序定義的回調函數,也就是在非窗口類中使用方法。
4.1 在窗口類中使用定時器
在窗口類中使用定時器比較簡單。假如我們想讓這個窗口上放置一個電子鍾,這樣我們必須每1秒或者0.5秒鍾去更新顯示顯見。按照下面的步驟,就可以完成這個電子鍾程序,並且知道如何在窗口類中使用定時器:
首先做在我們新建項目的主窗口上添加一個Label控制項,用來顯示時間。接著
⑴ 用函數SetTimer設置一個定時器,函數格式如下: UINT SetTimer( UINT nIDEvent,
UINT nElapse,
void (CALLBACK EXPORT* lpfnTimer)(HWND, UINT, UINT, DWORD));
這個函數是CWnd類的一個成員函數,其參數意義如下:
nIDEvent: 為設定的定時器指定的定時器標志值,設置多個定時器的時候,每個定時器的值都不同,消息處理函數就是通過這個參數來判斷是哪個定時器的。這里我們設定為1。
nElapse: 指定發送消息的時間間隔,單位是毫秒。這里我們設定為1000,也就是一秒。
lpfnTimer: 指定定時器消息由哪個回調函數來執行,如果為空,WM_TIMER將加入到應用程序的消息隊列中,並由CWnd類來處理。這里我們設定為NULL。
最後代碼如下:SetTimer(1,1000,NULL);
⑵ 通過Class Wizard給主窗口類添加一個WM_TIMER消息的映射函數,默認為OnTimer(UINT nIDEvent)。
⑶ 然後我們就可以在OnTimer(UINT nIDEvent)的函數實現中添加我們的代碼了。參數nIDEvent就是我們先前設定定時器時指定的標志值,在這里我們就可以通過它來區別不同的定時器,而作出不同的處理。添加的代碼如下:switch(nIDEvent)
{
case 1:
CTime m_SysTime = CTime::GetCurrentTime();
SetDlgItemText(IDC_STATIC_TIME,m_SysTime.Format("%Y年%m月%d日 %H:%M:%S"));
break;
}
代碼中的IDC_STATIC_TIME就是我們先前添加的Label控制項的ID。
至此,我們的電子鍾的程序就完成了。
4.2 在非窗口類中使用定時器
在非窗口類中使用定時器就要用到前面我們介紹到的所有知識了。因為是無窗口類,所以我們不能使用在窗口類中用消息映射的方法來設置定時器,這時候就必須要用到回調函數。又因為回調函數是具有一定格式的,它的參數不能由我們自己來決定,所以我們沒辦法利用參數將this傳遞進去。可是靜態成員函數是可以訪問靜態成員變數的,因此我們可以把this保存在一個靜態成員變數中,在靜態成員函數中就可以使用該指針,對於只有一個實例的指針,這種方法還是行的通的,由於在一個類中該靜態成員變數只有一個拷貝,對於有多個實例的類,我們就不能用區分了。解決的辦法就是把定時器標志值作為關鍵字,類實例的指針作為項,保存在一個靜態映射表中,因為是標志值是唯一的,用它就可以快速檢索出映射表中對應的該實例的指針,因為是靜態的,所以回調函數是可以訪問他們的。
首先介紹一下用於設置定時的函數:
UINT SetTimer(
HWND hWnd, // handle of window for timer messages
UINT nIDEvent, // timer identifier
UINT uElapse, // time-out value
TIMERPROC lpTimerFunc // address of timer procere
);
其中的參數意義如下:
hWnd: 指定與定時器相關聯的窗口的句柄。這里我們設為NULL。
nIDEvent: 定時器標志值,如果hWnd參數為NULL,它將會被跳過,所以我們也設定為NULL。
uElapse: 指定發送消息的時間間隔,單位是毫秒。這里我們不指定,用參數傳入。
lpTimerFunc: 指定當間隔時間到的時候被統治的函數的地址,也就是這里的回調函數。這個函數的格式必須為以下格式:
VOID CALLBACK TimerProc(
HWND hwnd, // handle of window for timer messages
UINT uMsg, // WM_TIMER message
UINT idEvent, // timer identifier
DWORD dwTime // current system time
);
其中的參數意義如下:
hwnd: 與定時器相關聯的窗口的句柄。
uMsg: WM_TIMER消息。
idEvent: 定時器標志值。
deTime: 系統啟動後所以經過的時間,單位毫秒。
最後設定定時器的代碼為:m_nTimerID = SetTimer(NULL,NULL,nElapse,MyTimerProc);
先通過Class Wizard創建一個非窗口類,選擇Generic Class類類型,類名稱為CMyTimer,該類的作用是每隔一段時間提醒我們做某件事情,然後用這個類創建三個實例,每個實例以不同的時間間隔提醒我們做不同的事情。
MyTimer.h#include
class CMyTimer;
//用模板類中的映射表類定義一種數據類型
typedef CMap CTimerMap;
class CMyTimer
{
public:
//設置定時器,nElapse表示時間間隔,sz表示要提示的內容
void SetMyTimer(UINT nElapse,CString sz);
//銷毀該實例的定時器
void KillMyTimer();
//保存該實例的定時器標志值
UINT m_nTimerID;
//靜態數據成員要提示的內容
CString szContent;
//聲明靜態數據成員,映射表類,用於保存所有的定時器信息
static CTimerMap m_sTimeMap;
//靜態成員函數,用於處理定時器的消息
static void CALLBACK MyTimerProc(HWND hwnd,UINT uMsg,UINT idEvent,DWORD dwTime);
CMyTimer();
virtual ~CMyTimer();
};
MyTimer.cpp#include "stdafx.h"
#include "MyTimer.h"
//必須要在外部定義一下靜態數據成員
CTimerMap CMyTimer::m_sTimeMap;
CMyTimer::CMyTimer()
{
m_nTimerID = 0;
}
CMyTimer::~CMyTimer()
{
}
void CALLBACK CMyTimer::MyTimerProc(HWND hwnd,UINT uMsg,UINT idEvent,DWORD dwTime)
{
CString sz;
sz.Format("%d號定時器:%s",
idEvent,
m_sTimeMap[idEvent]->szContent);
AfxMessageBox(sz);
}
void CMyTimer::SetMyTimer(UINT nElapse,CString sz)
{
szContent = sz;
m_nTimerID = SetTimer(NULL,NULL,nElapse,MyTimerProc);
m_sTimeMap[m_nTimerID] = this;
}
void CMyTimer::KillMyTimer()
{
KillTimer(NULL,m_nTimerID);
m_sTimeMap.RemoveKey(m_nTimerID);
}
這樣就完成了在非窗口類中使用定時器的方法。以上這些代碼都在Windwos 2000 Professional 和 Visual C++ 6.0中編譯通過。
F. 如何在Windows系統中設置Python程序定時運行
樓主最近寫了一個簡單的Python程序,想讓這個小程序每天上午10點定時運行一次,因為我的電腦是Windows系統,無法使用Linux下強大的crontab命令,所以我只好求助於度娘。我搜到了好幾個相關的網頁,但是看完之後仍然不明白應該怎麼做,最後經過多次推理和嘗試才設置成功。我相信以後還會有人想要知道在Windows下怎麼設置Python程序定時運行,因此把我的經驗寫在這里,希望能幫助到大家。
為了照顧更多的朋友,下面我將每一步都截圖並加以簡單說明,如果覺得太啰嗦可以直接翻到後面看最關鍵的一步如何設置。
首先,我們肯定是要用到Windows下的【計劃任務】功能(註:樓主的系統是Windows8.1,但是Windows7或Windows10情況應該差不多),如下圖所示:
之後點擊右側的【創建基本任務】,輸入任務名稱以及可選的任務描述:
點擊下一步,設置任務的開始時間,這個應該沒什麼難度,我這里設置為每天早上10點運行此計劃任務:
點擊下一步,設置【操作】為【啟動程序】,再點擊下一步,最關鍵的地方來了,這里該怎麼填寫才能保證系統正確地運行Python程序呢?
廢話不多說,先看具體的設置:
這里解釋一下三個文本框內容的含義,【程序或腳本】文本框中填的是Python編譯器的名稱,一般就是python.exe,【起始於】文本框中填的是Python編譯器的目錄,上圖中假設你的Python編譯器的完整路徑是「C:\Python27\python.exe」,【添加參數】文本框中填的是你的Python程序的完整路徑,這里假設在C盤的Users文件夾下面有一個叫做code.py的文件。如果你的Python程序包含命令行參數,將其添加到Python程序的完整路徑之後即可。
相信聰明的讀者已經發現了,如果將這三部分連在一起,就是「C:\Python27\python.exe
C:\Users\code.py」,這其實就是在Windows命令行下輸入「python
C:\Users\code.py」(或「python
code.py」,如果你正好在C:\Users目錄下),只是在計劃任務的設置中需要給出完整的python編譯器的路徑而已。
之後點擊下一步就可以點擊完成了,是不是很簡單?
G. 介紹計數器 /定時器 程序 的編寫步驟 (C語言的)
注意:
多數C語言編譯器不支持多線程,而且ANSI C也沒有線程庫,因此C語言無法實現實際意義上的定時器(即包含觸發機制的定時器)。
回到本問題:
1 計數器:
簡單的int變數(一般為全局或相對全局)就可以實現。
2 計時器:
包含time.h,使用clock相關函數,通過運行時間差來實現計時功能。示例:
/*@*/ clock_t startstart = clock();
……
/*@*/ clock_t endend = clock();
float start2end = (float)(endend-startstart)/CLOCKS_PER_SEC;
// 這里的start2end就是時間差
3 定時器
使用系統API,比如Windows下的Sleep()函數(注意,是大寫),原型如下:
VOID Sleep(
DWORD dwMilliseconds // sleep time in milliseconds
);
H. 怎樣讓電腦上的一個文本定時發送到郵件
1、配置腳本代碼:
首先在文本文件中輸入VBS腳本代寬純碼,然後將其另存為一個名為email.vbs的文件(文中只給出這個腳本文件的關鍵代碼,完整的代碼可在http://www.icpcw.com/bzsoft下載)。
Email.From = "發件人地址"
Email.To = "收件人地址"
Email.Subject = "郵件主題"
x="內容文件路徑"
y="附件文件路徑"
.Item(NameSpace&"smtpserver") = "郵箱伺服器"
.Item(NameSpace&"sensername") = "用戶名"
.Item(NameSpace&"sendpassword") = "密碼"
只需要將這八行關鍵代碼按照要求進行修改然後保存即可,可按以下步驟操作:首先輸入自己和對方的郵箱地址,並填好主題;接著新建一個文本文件(txt格式),輸入電子郵件的正文內容,在「內容文件路徑」和「附件文件路徑」分別填入文本內容文本文件和附件的路徑。由於現在國內的電子郵箱運營商,在發送電子郵件的時候都需要進行SMTP認證,即在發送電子郵件的時候,會對發件人的用戶名和密碼進行驗證,所以需要將「郵箱伺服器」、「搜消用戶名」和「密碼」分世巧知別輸入對應的信息就可以了(郵箱伺服器地址在網上可以查到,例如163郵箱的伺服器地址為:smtp.163.com,QQ郵箱則為smtp.qq.com)。
2、創建計劃任務
首先打開「計劃任務」窗口,點擊右側的「創建任務」命令。然後在彈出窗口「常規」標簽中的「名稱」選項中,輸入一個任意的名稱即可。接著在「安全選項」中選擇管理員賬戶,並勾選「使用最高許可權運行」選項即可。
3、然後選擇「觸發器」標簽並點擊「新建」按鈕,在彈出的窗口選擇「開始任務」列表中的「制定計劃時」選項。接下來選擇「設置」中的「每天」,並設置「開始」時間及間隔時間,並勾選「啟用」後點擊「確定」。然後選擇「操作」標簽並點擊「新建」按鈕,在彈出窗口的「操作」列表裡面選擇「啟動程序」選項。然後點擊「程序或腳本」選項後點擊「瀏覽」按鈕,選中剛才配置好的腳本文件。最後點擊「確定」保存退出,所需的計劃任務就創建好了。到了剛才設定的時間,電子郵件就會自動發送到對方郵箱中。
I. 請問怎樣用C語言做一些小程序,例如給點電腦設置定時關機。我是用VS來編譯的。是用C語言還是用WIN32來做啊
開機後。立刻新建個txt。輸入 shutdown -s -t 600 ..........600可以改,單位是秒
別輸錯,然弊攔銀後重命名文件,我說衡飢的是全部重命名。把txt也刪掉。輸入345412.bat
雙擊
別忘加滿意
這用不著c,c++,vb你小題大做。。租宴。。。
J. 如何用javamail定時發送郵件 詳細03
Java 計時器框架的本身在這里不作過多的介紹,詳細信息在IBM developerWorks 中國網站。 我們主要討論如何利用Java 計時器框架在Solaris 平台來實現郵件的定時發送、JavaMail 發送郵件的實現以及在Solaris 平台上如何以後台方式運行整個郵件定時發送的應用。 下載本文的源代碼,參考具體實現。 1.1 形成schele.jar 包 schele.jar 包中的目錄結構如下: 我們將資料庫的連接、日誌、郵件和計劃框架的通用類形成一個與具體應用要求無關的schele.jar 包。利用 javac 將編譯生成的目標 class 文件存在當前目錄的 classes 文件夾下,然後通過 jar -cvf schele.jar ./*命令生成schele.jar 包。 1.1.1 Oracle 資料庫連接的建立 位於db 目錄下,通過thin 方式建立與Oracle 的資料庫連接,具體的實現參見《J2EE 應用中與Oracle 資料庫的連接》一文。 1.1.2 日誌 以後台方式定時運行的應用應特別注意日誌的功能,因為只有通過分析詳細的日誌信息才能准確掌握應用的執行情況。在logs 目錄下為Logs.java 文件,代碼如下: package com.j2ee.logs; import java.io.*; import java.util.*; import java.text.SimpleDateFormat; public class Logs { private String logType=""; private String server="/schele/logs/server.log"; private String task="/schele/implements/nohup.out"; private SimpleDateFormat dateFormat = new SimpleDateFormat("【 yyyy 年MM月dd 日 E a HH:mm:ss 】"); /** * @param logType server task */ public Logs(String logType) { this.logType=logType; } public void print(String msg) { try { String path=""; if (logType.equals("server")) path=server; if (logType.equals("task")) path=task; // BufferedWriter out = new BufferedWriter(new FileWriter(path,true)); String str=dateFormat.format(new Date()); if (logType.equals("task")) out.newLine(); out.write(str,0,str.length()); out.write(msg,0,msg.length()); out.newLine(); out.close(); } catch(Exception e) { System.out.println("Logs.print:"+e.getMessage()); } } }; 通過類中的構造器,可以生成兩個日誌文件:server.log 和nohup.out。server.log 用來記錄計時器框架本身定時調度的日誌信息,通過它來判斷定時調度服務每天是否正常運行;nohup.out 用來記錄在具體應用中的調試信息,例如:在應用中通過System.out.println()輸出的信息將記錄在nohup.out 文件中。 1.1.3 郵件 位於mail 目錄下,包括以下一些文件: 1)Debug.java 發送郵件時的調試信息 2)EMailContents.java 郵件的正文,為了使郵件接受者對收到的郵件有一個好的視覺效果,可以先寫一個統一的HTML 郵件模板,在模板中填充相應的內容。EmailContents 類完成這一功能。效果如下: 3)Mailer.java 發送郵件的主方法。它調用MailThread 類中的方法創建一個發送郵件的線程。 4)MailThread.java 發送郵件線程類。它調用MailHelper 中的方法來完成發送郵件的工作。 5)MailHelper.java 發送郵件的實現類。在類的createAndSendMail 方法中包括了發送郵件一系列必須的過程,它可以完成一些郵件的正文、附件、抄送、回執等功能。在郵件的實現中用到了兩個jar 包:mail.jar 和activation.jar。 1.1.4 計劃框架 計劃框架的詳細內容可以通過本文前面提供的連接去詳細了解,本文該部分的代碼也出自IBM網站。 1.2 郵件定時發送的實現 這部分主要用到前面schele.jar 中的類來實現與具體應用要求相適應的應用。在implements 目錄下有三個類: 1)ScheleTask.java 包含一個main 方法,在本例中"每天計劃3 點開始執行計劃好的任務"。 2)ScheleThread.java 線程類,在該類的 run 方法中,可以添加不同類型的計劃定時執行的任務類來完成不同的定時執行的任務,在本例中調用了Mails 類中的sendMail 方法來定時發送郵件。 3)Mails.java 按照一定的業務邏輯規則實現郵件的發送。 1.3 郵件定時發送應用的運行 包括應用的啟動和停止,在Solaris 上我們可以編寫兩個腳本:start 和stop 來完成該工作。 1.3.1 Start 腳本 Start 腳本內容如下: echo '************************************************************' CLASSPATH=.:/schele/implements/jar/schele.jar: /schele/implements/jar/classes12.zip: /schele/implements/jar/mail.jar:/schele/implements/jar/activation.jar export CLASSPATH echo 'set schele running environment success.' nohup java com.j2ee.implement.ScheleTask & echo 'start schele task success.' echo 'view logs:' echo ' /schele/implements/nohup.out' echo ' /schele/logs/server.log' date >> /schele/logs/server.log echo '計劃框架成功啟動' >> /schele/logs/server.log echo '************************************************************' 這里有兩個關鍵點:CLASSPATH 的設置和 nohup 運行方式。在 CLASSPATH 中必須提供用到的所有 jar 包,多個jar 包用":"分隔;"&"表示以後台方式運行,"nohup"使應用的運行不依賴於當前的會話,如果不以"nohup"方式的話,即" java com.j2ee.implement.ScheleTask &",當你關閉你當前的會話時,應用將終止運行。可以使用"ps -ef | grep java"來查看應用運行的進程號。 當然也可以通過手工交互的方式完成上述步驟來運行應用。 1.3.2 Stop 腳本 Stop 腳本內容如下: echo '************************************************************' ps -e | grep java >> ps.out kill -9 `cut -c 2-6 ps.out` rm ps.out date >> /schele/logs/server.log echo '計劃框架成功停止' >> /schele/logs/server.log echo 'stop schele task success.' echo '************************************************************' 該腳本中主要通過" ps -e | grep java"命令將輸出信息重定向到"ps.out"文件中,在從文件中獲得進程號,然後將它kill 掉。同樣也可以通過手工的方式將它kill。 一般的問題在SUN 中國的技術社區都能找的到的 建議你去看看. 這篇是切過來的 你可以去SUN 中國技術社區下載具體實例 使用JSP開發WebMail 系統 電子郵件(E-mail)是Internet 上使用最廣泛的服務之一,傳統的Email 應用模式基於C/S 結構,即用戶使用客戶端的郵件收發工具(如Outlook、Foxmail 等)與提供郵件服務的伺服器(如163.net、263.net、 371.net)通信,在使用客戶端郵件工具之前,用戶要進行一些必要的設置,如指定郵件伺服器的主機地址和通信埠等,這些工作對剛開始上網的用戶會有一定的困難,如果把E-mail 和Web 結合在一起,即通過Web 編程和適當的系統設置,使用戶僅僅以訪問Web 的方式就可以得到和使用完整的郵件服務,這樣將極大地方便上網用戶,這種系統稱為WebMail。WebMail 是目前Internet 上最受歡迎的服務之一,也是很多網站必備功能之一。另外WebMail 同樣也適用於企業或校園網的應用。 通常在後台伺服器的搭建和設置完成後實現WebMail 系統,而前台的開發工作主要是開發工具與後台資料庫和郵件伺服器的交互問題。在Linux 平台上運行的各種伺服器軟體穩定性和可靠性一直很好,而且選擇跨平台的Java 開發工具使系統更穩定,具有更高的伸縮性。 JSP性能 盡管JSP 提供強大的功能是建立在Servlet 之上,但JSP 的性能和Servlet 相差無幾。JSP 首先要編譯成Servlet,這只會增加少量的代碼,僅需編譯一次且可以預編譯,這就消除了運行時花費不必要的負擔。JSP 與Servlet 性能上的差異僅僅表現在返回的數據是二進制的。這是因為JSP 返回時用的是 PrintWriter,而Servlet 可以應用於速度更快的OutputStream。 JSP 自定義的標簽庫可以封裝大量的、復雜的Java 操作在一個Form裡面,這些預先定義好的標簽可以很容易的被那些沒有Java 知識的人調用。因此,JSP 自定義的標簽庫可以有效地實現Java 程序員和 Web 設計人員工作的劃分。然而,在頁面上應用的每一個標簽,Web 容器都必須創建一個新的標簽句柄對象或從標簽緩沖中提取它。因此,過多的應用自定義的標簽將會帶來不必要的資源浪費。 BodyTags 是一種特殊的定製標簽,可以提取在它之間封裝的內容或者替換那些內容。BodyTags 之間的內容一般會備份在內存中。由於BodyTags 之間能夠嵌套和重復,因此,在程序中應用了多級的 BodyTags 會佔用大量寶貴的內存和系統資源。 實現WebMail 的主要功能 該系統提供了獲取、閱讀、書寫、轉發、回復、列印、刪除及用戶管理的功能。考慮到系統的跨平台性,採用Java 及相關技術產品為開發工具,特別是採用JSP 作為服務程序,這樣對客戶端也沒有其它要求,同時系統的性能在高負荷下得到進一步提高。整個WebMail 系統全部採用純Java 代碼,伺服器端每響應一個服務請求啟動一個線程,而不像CGI 那樣啟動一個進程。這樣能夠節省系統資源,提高系統性能。