× Aktuálně z oboru

Programátoři po celém světě dnes slaví Den programátorů [ clanek/2018091300-programatori-po-celem-svete-dnes-slavi-den-programatoru/ ]
Celá zprávička [ clanek/2018091300-programatori-po-celem-svete-dnes-slavi-den-programatoru/ ]

Modul win32com

[ http://programujte.com/profil/1835-jakub-vojacek/ ]Google [ ?rel=author ]       [ http://programujte.com/profil/118-zdenek-lehocky/ ]Google [ ?rel=author ]       27. 6. 2007       15 598×

Ukážeme si, jak vytisknout dokument, simulovat řeč a generovat události. To vše ale pouze v operačním systému Windows.

Dneska se naučíme vyvolat událost ve Windows (např zmáčknutí Enteru), simulovat řeč a vytisknout dokument. To vše pomocí modulu win32com [ http://sourceforge.net/project/showfiles.php?group_id=78018 ].

Generování událostí

import win32com.client
shell = win32com.client.Dispatch("WScript.Shell")
shell.SendKeys("~", 0)

Tento skript nasimuluje stisknutí klávesy Enter. Abyste docílili zmáčknutí jiné klávesy, vybírejte ze seznamu [ http://msdn2.microsoft.com/en-us/library/system.windows.forms.sendkeys.aspx ] jiných kláves.

Simulace řeči

# -*- coding: cp1250 -*-
import sys
from win32com.client import constants
import win32com.client
speaker = win32com.client.Dispatch("SAPI.SpVoice")
try:
    s = 'Hi'
    speaker.Speak(s)
except:
    print "Chyba."
if sys.exc_type is EOFError:
    sys.exit()

Jediná nevýhoda je anglický přízvuk.

Tisk dokumentu

# -*- coding: cp1250 -*-
import win32com.client
import win32ui
import win32print
import win32con
text = "Ahoj!"
hDC = win32ui.CreateDC()
hDC.CreatePrinterDC(win32print.GetDefaultPrinter())
hDC.StartDoc("Test doc")
hDC.StartPage()
hDC.SetMapMode(win32con.MM_TWIPS)
ulc_x = 1000
ulc_y = -1000
lrc_x = 11500
lrc_y = -15000
hDC.DrawText(text, (ulc_x, ulc_y, lrc_x, lrc_y), win32con.DT_LEFT)
hDC.EndPage()
hDC.EndDoc()

Článek stažen z webu Programujte.com [ http://programujte.com/clanek/2007061704-modul-win32com/ ].