Programování - Screenshot + autoemail.

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

ztr00
nováček
Příspěvky: 4
Registrován: březen 18
Pohlaví: Muž
Stav:
Offline

Programování - Screenshot + autoemail.

Příspěvekod ztr00 » 06 bře 2018 07:29

Dobrý den.

Chtěl bych se zeptat, jestli by se tu našel programátor, který by byl schopný napsat program, který by mi v určitý čas "sejmul" screenshot obrazovky a automaticky ho poslal na email.

Programy podobného rázu jsou (IcyScreen asi nejblíže). Problém je, že neumí typický "scheduler". Tzn. odesílání každý den např v 6:00 a v 18:00. To co umí je, že sejme screenshot a poté po určitém intervalu ho sejme znovu. To je ale nepraktické, protože když by došlo k nouzovému vypnutí PC, jeho opětovnému nastartování, tak nebude sedět čas intervalu (bude posunutý o dobu výpadku). A já právě potřebuji přesné časy.

Další program, který jsem našel je Auto Screen Capture, ale ten bohužel nemá funkci emailu. Zato má krásný scheduler.

No tak bych právě chtěl vědět, jestli by to někdo zvládl, nebo mám zkusit vymyslet nějaké jiné řešení. Samozřejmě to nechci zadarmo.

Děkuji a přeji krásný den.

Reklama
Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7359
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Programování - Screenshot + autoemail.

Příspěvekod faraon » 06 bře 2018 07:40

Bacha na GDPR! :evil:
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

ztr00
nováček
Příspěvky: 4
Registrován: březen 18
Pohlaví: Muž
Stav:
Offline

Re: Programování - Screenshot + autoemail.

Příspěvekod ztr00 » 06 bře 2018 08:12

faraon píše:Bacha na GDPR! :evil:


Tím, že sejmu obraz monitoru, na kterém je výstup z PLC daného stroje si s GDPR určitě nezahrávám -)

zeus
Elite Level 10.5
Elite Level 10.5
Příspěvky: 10913
Registrován: únor 12
Bydliště: Pankrac
Pohlaví: Muž
Stav:
Offline

Re: Programování - Screenshot + autoemail.

Příspěvekod zeus » 06 bře 2018 08:26

Mail ti odesle treba The Bat, ktery ovladnes z prikazove radky, a tim i z Planovace uloh.
Prazaci jo ty se maj, az kdyz si me zavolaj..

Uživatelský avatar
ITCrowd
Tvůrce článků
Guru Level 13.5
Guru Level 13.5
Příspěvky: 23603
Registrován: březen 10
Pohlaví: Muž
Stav:
Offline

Re: Programování - Screenshot + autoemail.

Příspěvekod ITCrowd » 06 bře 2018 10:59

Možná by to šlo napsat ve vbs skriptu.
Zkusili jste to vypnout a zapnout? Problémy řeším pouze v tématech. Do SZ mi proto píšete zbytečně.
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router

ztr00
nováček
Příspěvky: 4
Registrován: březen 18
Pohlaví: Muž
Stav:
Offline

Re: Programování - Screenshot + autoemail.

Příspěvekod ztr00 » 06 bře 2018 11:46

zeus píše:Mail ti odesle treba The Bat, ktery ovladnes z prikazove radky, a tim i z Planovace uloh.


Děkuji za tip, ale bohužel, Win 10 Pro mi to nespustí.

Dodatečně přidáno po 2 minutách 38 vteřinách:
ITCrowd píše:Možná by to šlo napsat ve vbs skriptu.


Bohužel, programovaní zrovna není mojí silnou stránkou.

Kuokal jsem na Bmail, ale ten už taky nespustím, je to stara verze z roku 2004, ale má věci, tkeré bych potřeboval.

C:>bmail /?

Command Line SMTP Emailer V1.07
Copyright(C) 2002-2004 Craig.Peacock@beyondlogic.org
Usage: bmail [options]
-s SMTP Server Name
-p SMTP Port Number (optional, defaults to 25)
-t To: Address
-f From: Address
-b Text Body of Message (optional)
-h Generate Headers
-a Subject (optional)
-m Filename (optional) Use file as Body of Message
-c Prefix above file with CR/LF to separate body from header
-d Debug (Show all mail server communications)

A právě parametr "-m" je pro mě klíčový. Tím bych do mailu mohl nacpat ten stupidní screenshot. Už jsem se smířil s tím, že hotové řešení asi nebude, tak prostě použiju jeden program na screenshoty a potom asi *.bat pro posílání mailů. Jenom ten "baťák" mi chybí :-)

Uživatelský avatar
Microsheep
Level 4.5
Level 4.5
Příspěvky: 1656
Registrován: leden 10
Pohlaví: Muž
Stav:
Offline

Re: Programování - Screenshot + autoemail.

Příspěvekod Microsheep » 06 bře 2018 16:08

Teď jsem to testoval, funkční bez extra sw. - Win 10
Uložit jako *.ps1 skript, přidat si do naplánovaných úloh spuštění v dané časy, které potřebuješ.
Otestováno na e-mailu od seznamu, pozor máš heslo v plain textu skriptu!
Můžeš si snadno upravovat subject např. aby zapisoval čas, nějaké logování pokud se neodešle e-mail apod.

Kód: Vybrat vše

$File = "C:\test\screen.bmp"
$username = "login"
$password = "heslo"
$email = "test@seznam.cz"
$smtp = "smtp.seznam.cz"
############################################
Add-Type -AssemblyName System.Windows.Forms
Add-type -AssemblyName System.Drawing
$Screen = [System.Windows.Forms.SystemInformation]::VirtualScreen
$Width = $Screen.Width
$Height = $Screen.Height
$Left = $Screen.Left
$Top = $Screen.Top
$bitmap = New-Object System.Drawing.Bitmap $Width, $Height
$graphic = [System.Drawing.Graphics]::FromImage($bitmap)
$graphic.CopyFromScreen($Left, $Top, 0, 0, $bitmap.Size)
$bitmap.Save($File)
$secstr = New-Object -TypeName System.Security.SecureString
$password.ToCharArray() | ForEach-Object {$secstr.AppendChar($_)}
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $secstr
Send-MailMessage -smtpServer $smtp -Credential $cred -From $email -To $email -UseSsl -Subject screenshot -Attachments $File

ztr00
nováček
Příspěvky: 4
Registrován: březen 18
Pohlaví: Muž
Stav:
Offline

Re: Programování - Screenshot + autoemail.

Příspěvekod ztr00 » 07 bře 2018 07:01

Microsheep píše:Teď jsem to testoval, funkční bez extra sw. - Win 10
Uložit jako *.ps1 skript, přidat si do naplánovaných úloh spuštění v dané časy, které potřebuješ.
Otestováno na e-mailu od seznamu, pozor máš heslo v plain textu skriptu!
Můžeš si snadno upravovat subject např. aby zapisoval čas, nějaké logování pokud se neodešle e-mail apod.

Kód: Vybrat vše

$File = "C:testscreen.bmp"
$username = "login"
$password = "heslo"
$email = "test@seznam.cz"
$smtp = "smtp.seznam.cz"
############################################
Add-Type -AssemblyName System.Windows.Forms
Add-type -AssemblyName System.Drawing
$Screen = [System.Windows.Forms.SystemInformation]::VirtualScreen
$Width = $Screen.Width
$Height = $Screen.Height
$Left = $Screen.Left
$Top = $Screen.Top
$bitmap = New-Object System.Drawing.Bitmap $Width, $Height
$graphic = [System.Drawing.Graphics]::FromImage($bitmap)
$graphic.CopyFromScreen($Left, $Top, 0, 0, $bitmap.Size)
$bitmap.Save($File)
$secstr = New-Object -TypeName System.Security.SecureString
$password.ToCharArray() | ForEach-Object {$secstr.AppendChar($_)}
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $secstr
Send-MailMessage -smtpServer $smtp -Credential $cred -From $email -To $email -UseSsl -Subject screenshot -Attachments $File


Děkuji moc za snahu. Já jsem včera zkoušel podobný příkaz v PS, ale pořád mi to psalo, že není povoleno spouštění skriptů a když sem je chtěl povolit dalším příkazem tak pořád nic. Bohužel jsem na začátku dotazu neřekl, pro jaký OS (moje chyba - pardon). OS, na kterém bych to chtěl rozjet je W7. Takže powershell mi zde asi nepomůže :-(
Každopádně děkuji a jdu to zkusit alespoň na mém NB s W10.

Dodatečně přidáno po 51 minutách 58 vteřinách:
ztr00 píše:
Microsheep píše:Teď jsem to testoval, funkční bez extra sw. - Win 10
Uložit jako *.ps1 skript, přidat si do naplánovaných úloh spuštění v dané časy, které potřebuješ.
Otestováno na e-mailu od seznamu, pozor máš heslo v plain textu skriptu!
Můžeš si snadno upravovat subject např. aby zapisoval čas, nějaké logování pokud se neodešle e-mail apod.

Kód: Vybrat vše

$File = "C:testscreen.bmp"
$username = "login"
$password = "heslo"
$email = "test@seznam.cz"
$smtp = "smtp.seznam.cz"
############################################
Add-Type -AssemblyName System.Windows.Forms
Add-type -AssemblyName System.Drawing
$Screen = [System.Windows.Forms.SystemInformation]::VirtualScreen
$Width = $Screen.Width
$Height = $Screen.Height
$Left = $Screen.Left
$Top = $Screen.Top
$bitmap = New-Object System.Drawing.Bitmap $Width, $Height
$graphic = [System.Drawing.Graphics]::FromImage($bitmap)
$graphic.CopyFromScreen($Left, $Top, 0, 0, $bitmap.Size)
$bitmap.Save($File)
$secstr = New-Object -TypeName System.Security.SecureString
$password.ToCharArray() | ForEach-Object {$secstr.AppendChar($_)}
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $secstr
Send-MailMessage -smtpServer $smtp -Credential $cred -From $email -To $email -UseSsl -Subject screenshot -Attachments $File


Děkuji moc za snahu. Já jsem včera zkoušel podobný příkaz v PS, ale pořád mi to psalo, že není povoleno spouštění skriptů a když sem je chtěl povolit dalším příkazem tak pořád nic. Bohužel jsem na začátku dotazu neřekl, pro jaký OS (moje chyba - pardon). OS, na kterém bych to chtěl rozjet je W7. Takže powershell mi zde asi nepomůže :-(
Každopádně děkuji a jdu to zkusit alespoň na mém NB s W10.



Tak nakonec jsem spustil PS x86 a už to vzalo i ty příkazy pro omezení. Skriptík funguje, jenom jsem ho doupravil, aby odesílal ne na tu samou ,ale odlišnou adresu.

*EDIT: Jde z toho skriptu odstranit zabezpečené spojení? Jelikož mi to píše "server nepodporuje zabezpečená připojení". Jestli je to -useSsl? Nebo který parametr? Děkuji.

Teď bych ale toto řešení potřeboval pro cmd :-)

Uživatelský avatar
Microsheep
Level 4.5
Level 4.5
Příspěvky: 1656
Registrován: leden 10
Pohlaví: Muž
Stav:
Offline

Re: Programování - Screenshot + autoemail.

Příspěvekod Microsheep » 07 bře 2018 15:53

Necituje se poslední příspěvek, potom upravuješ svůj příspěvek a část cituješ? Neděláš v tom moc pořádek, ale pořádnej guláš.
Co se týče zabezpečeného připojení, stačí odstranit -UseSSL, samozřejmě si všechny potřebné věci musíš doupravit (záleží na smtp ze kterého odesíláš, na portu, jestli vyžaduje autentifikaci atd..), nic z toho si neřekl.
Jinak nešlo ti to, jelikož musíš povolit spouštění PS skriptů.

Tohle je powershell skript, používá ps cmdlety, bude fungovat pouze jako powershell skript.
Můžeš ho spouštět z baťáku, z cmd, zástupců ap. ale musí to zůstat powershell skriptem.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Vhodné materiály pro výuku programování
    od Zakk » 31 říj 2023 16:24 » v Programování a tvorba webu
    1
    1374
    od Gerete Zobrazit poslední příspěvek
    31 říj 2023 17:40
  • Výběr repasovaného notebooku na programování
    od HelFix » 13 bře 2024 10:59 » v Rady s výběrem hw a sestavením PC
    5
    1421
    od Zivan Zobrazit poslední příspěvek
    20 bře 2024 10:51
  • 2x 27" IPS vs 34" VA . programování, webdesign
    od Hakosuka » 26 úno 2024 13:12 » v Rady s výběrem hw a sestavením PC
    0
    512
    od Hakosuka Zobrazit poslední příspěvek
    26 úno 2024 13:12

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti