import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders
import cv2
import time
camera = cv2.VideoCapture(0)
for i in range(1):
return_value, image = camera.read()
cv2.imwrite('puppy'+str(i)+'.png', image)
del(camera)
time.sleep(8)
fromaddr = ""
toaddr = ""
msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toaddr
msg['Subject'] = ""
body = "Test mail"
msg.attach(MIMEText(body, 'plain'))
filename = "puppy0.png"
attachment = open("puppy0.png","rb")
part = MIMEBase('application', 'octet-stream')
part.set_payload((attachment).read())
encoders.encode_base64(part)
part.add_header('Content-Disposition', "attachment; filename= %s" % filename)
msg.attach(part)
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(fromaddr, "PASSWORD OF GMAIL")
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
server.quit()
Я понял ...
Это не Win32; это - MFC. Обычно, управление Win32 генерирует события путем отправки сообщения в его родительское окно. Однако, если Вам получили Ваш собственный класс из одной из оберток MFC (например, Вы перенесли CTreeCtrl с CMyFunkyTreeCtrl), Вы могли бы хотеть обработать эти события в производном классе.
MFC использует эти отражательные сообщения для возврата события назад к самому классу, где производный класс видит их.
Взгляд на TN062: передайте Отражение для Windows Controls (MFC) для получения дополнительной информации.
Некоторое обоснование здесь:
http://www.tech-archive.net/Archive/VC/microsoft.public.vc.language/2005-08/msg00589.html