Python论坛  - 讨论区

标题:[python-chinese] 有人用过 comtypes 么?

2006年10月24日 星期二 17:28

Yingbo Qiu qiuyingbo在gmail.com
星期二 十月 24 17:28:54 HKT 2006

挺有意思的,理论上来说它的应用应该比 ctypes 更广泛,因为毕竟现在软件组件的主流是com,而不是函数库。

不过对应的文档很少,试了一下调用 dshow 里面的接口,但在退出脚本的时候抛出异常,不知道是我不理解 comtypes,还是comtypes现在的bug

下面是我自己琢磨出的例子,有兴趣的可以深入研究一下:

from comtypes.client import GetModule, CreateObject
ds = GetModule("quartz.dll")
fg = CreateObject(ds.FilgraphManager)

fg.RenderFile("C:\\WINDOWS\\system32\\oobe\\images\\intro.wmv")

for i in range(fg.FilterCollection.Count):
    x = fg.FilterCollection.Item(i)
    y = x.QueryInterface(ds.IFilterInfo)
    if y.IsFileSource:
        print 'Filename: %s' % y.Filename
    else:
        print 'Filter: %s' % y.Name

#bv = fg.QueryInterface(ds.IBasicVideo2)
#print bv.GetVideoSize()
#print bv.GetPreferredAspectRatio()

现在还处于 Alpha 阶段,不过已经有人计划用它来封装 Windows 核心 API,做一套 pure python, win32
native 的界面库了. http://venster.sourceforge.net/htdocs/index.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年10月24日 星期二 17:35

Dreamingk(天成) dreamingk在gmail.com
星期二 十月 24 17:35:55 HKT 2006

理论上说我不知道他在linux下如何应用的比ctypes更广泛 :)

On 10/24/06, Yingbo Qiu <qiuyingbo在gmail.com> wrote:
>
> 挺有意思的,理论上来说它的应用应该比 ctypes 更广泛,因为毕竟现在软件组件的主流是com,而不是函数库。
>
> 不过对应的文档很少,试了一下调用 dshow 里面的接口,但在退出脚本的时候抛出异常,不知道是我不理解
> comtypes,还是comtypes现在的bug
>
> 下面是我自己琢磨出的例子,有兴趣的可以深入研究一下:
>
> from comtypes.client import GetModule, CreateObject
> ds = GetModule("quartz.dll")
> fg = CreateObject(ds.FilgraphManager)
>
> fg.RenderFile("C:\\WINDOWS\\system32\\oobe\\images\\intro.wmv")
>
> for i in range(fg.FilterCollection.Count):
>     x = fg.FilterCollection.Item(i)
>     y = x.QueryInterface(ds.IFilterInfo)
>     if y.IsFileSource:
>         print 'Filename: %s' % y.Filename
>     else:
>         print 'Filter: %s' % y.Name
>
> #bv = fg.QueryInterface(ds.IBasicVideo2)
> #print bv.GetVideoSize()
> #print bv.GetPreferredAspectRatio()
>
> 现在还处于 Alpha 阶段,不过已经有人计划用它来封装 Windows 核心 API,做一套 pure python, win32
> native 的界面库了. http://venster.sourceforge.net/htdocs/index.html
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese




-- 
Dreamingk (tc, 天成)
email:
    dreamingk在gmail.com
    tc在exoweb.net
website:
    http://www.exoweb.net
    http://python.cn
    http://django.cn
    http://zope.cn
Exoweb (北京轩辕互动科技有限公司)
  北京市朝阳区金台路甜水园东街2号
  甜水园商务中心A505  100026
Python, I love this language.
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: http://python.cn/pipermail/python-chinese/attachments/20061024/562e87db/attachment-0001.htm 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年10月24日 星期二 18:12

limodou limodou在gmail.com
星期二 十月 24 18:12:51 HKT 2006

On 10/24/06, Dreamingk(天成) <dreamingk在gmail.com> wrote:
> 理论上说我不知道他在linux下如何应用的比ctypes更广泛 :)
>
>
> On 10/24/06, Yingbo Qiu <qiuyingbo在gmail.com> wrote:
> > 挺有意思的,理论上来说它的应用应该比 ctypes 更广泛,因为毕竟现在软件组件的主流是com,而不是函数库。
> >
> > 不过对应的文档很少,试了一下调用 dshow 里面的接口,但在退出脚本的时候抛出异常,不知道是我不理解
> comtypes,还是comtypes现在的bug
> >
> > 下面是我自己琢磨出的例子,有兴趣的可以深入研究一下:
> >
> > from comtypes.client import GetModule, CreateObject
> > ds = GetModule("quartz.dll")
> > fg = CreateObject(ds.FilgraphManager)
> >
> >
> fg.RenderFile("C:\\WINDOWS\\system32\\oobe\\images\\intro.wmv")
> >
> > for i in range(fg.FilterCollection.Count):
> >     x = fg.FilterCollection.Item(i)
> >     y = x.QueryInterface(ds.IFilterInfo)
> >     if y.IsFileSource:
> >         print 'Filename: %s' % y.Filename
> >     else:
> >         print 'Filter: %s' % y.Name
> >
> > #bv = fg.QueryInterface (ds.IBasicVideo2)
> > #print bv.GetVideoSize()
> > #print bv.GetPreferredAspectRatio()
> >
> > 现在还处于 Alpha 阶段,不过已经有人计划用它来封装 Windows 核心 API,做一套 pure python, win32
> > native 的界面库了.
> http://venster.sourceforge.net/htdocs/index.html

如果这样的话使用IronPython或pywin32不是更直接?

-- 
I like python!
UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年10月24日 星期二 18:13

Yingbo Qiu qiuyingbo在gmail.com
星期二 十月 24 18:13:54 HKT 2006

有人抬杠啊......呵呵

不过这个东西值得关注,毕竟已经有了 ctypes 成功在前,说不定哪天就成为 python 3000 的标准库了.

就我个人来说,Python 这种水泥式的开发工具(注意:不是开发语言)是我最喜欢它的地方...

另外,我看好 Python 做 Application Server 的能力,不晓得有没有人在做这方面的尝试?

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年10月24日 星期二 18:16

Yingbo Qiu qiuyingbo在gmail.com
星期二 十月 24 18:16:24 HKT 2006

我没有用过 pywin32,limodou 兄可以看看我给的那个例子,pywin32 或 ironpython 能很简单的做到吗?

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年10月24日 星期二 18:22

linuxbbs linuxbbs在163.com
星期二 十月 24 18:22:28 HKT 2006

何以谓之曰水泥式的开发工具?




linuxbbs
2006-10-24



发件人: Yingbo Qiu
发送时间: 2006-10-24 18:15:11
收件人: python-chinese at lists.python.cn
抄送: 
主题: Re: [python-chinese]有人用过 comtypes 么?

有人抬杠啊......呵呵

不过这个东西值得关注,毕竟已经有了 ctypes 成功在前,说不定哪天就成为 python 3000 的标准库了.

就我个人来说,Python 这种水泥式的开发工具(注意:不是开发语言)是我最喜欢它的地方...

另外,我看好 Python 做 Application Server 的能力,不晓得有没有人在做这方面的尝试?
_______________________________________________
python-chinese
Post: send python-chinese at lists.python.cn
Subscribe: send subscribe to python-chinese-request at lists.python.cn
Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
Detail Info: http://python.cn/mailman/listinfo/python-chinese
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://python.cn/pipermail/python-chinese/attachments/20061024/16245df7/attachment.htm 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年10月24日 星期二 18:29

Yingbo Qiu qiuyingbo在gmail.com
星期二 十月 24 18:29:04 HKT 2006

把好多奇形怪状的东西很方便的组合在一起

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年10月24日 星期二 18:34

linuxbbs linuxbbs在163.com
星期二 十月 24 18:34:05 HKT 2006

原来如此,受教,受教!




linuxbbs
2006-10-24



发件人: Yingbo Qiu
发送时间: 2006-10-24 18:29:34
收件人: python-chinese at lists.python.cn
抄送: 
主题: Re: [python-chinese]有人用过 comtypes 么?

把好多奇形怪状的东西很方便的组合在一起
_______________________________________________
python-chinese
Post: send python-chinese at lists.python.cn
Subscribe: send subscribe to python-chinese-request at lists.python.cn
Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
Detail Info: http://python.cn/mailman/listinfo/python-chinese
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://python.cn/pipermail/python-chinese/attachments/20061024/2ece20aa/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年10月24日 星期二 18:50

ygao ygao2004在gmail.com
星期二 十月 24 18:50:22 HKT 2006

对windows api有了解有python基础的人有用,封装了ATL,WTL,主要是体积小,真正的native。

On 10/24/06, limodou <limodou在gmail.com> wrote:
>
> On 10/24/06, Dreamingk(天成) <dreamingk在gmail.com> wrote:
> > 理论上说我不知道他在linux下如何应用的比ctypes更广泛 :)
> >
> >
> > On 10/24/06, Yingbo Qiu <qiuyingbo在gmail.com> wrote:
> > > 挺有意思的,理论上来说它的应用应该比 ctypes 更广泛,因为毕竟现在软件组件的主流是com,而不是函数库。
> > >
> > > 不过对应的文档很少,试了一下调用 dshow 里面的接口,但在退出脚本的时候抛出异常,不知道是我不理解
> > comtypes,还是comtypes现在的bug
> > >
> > > 下面是我自己琢磨出的例子,有兴趣的可以深入研究一下:
> > >
> > > from comtypes.client import GetModule, CreateObject
> > > ds = GetModule("quartz.dll")
> > > fg = CreateObject(ds.FilgraphManager)
> > >
> > >
> > fg.RenderFile("C:\\WINDOWS\\system32\\oobe\\images\\intro.wmv")
> > >
> > > for i in range(fg.FilterCollection.Count):
> > >     x = fg.FilterCollection.Item(i)
> > >     y = x.QueryInterface(ds.IFilterInfo)
> > >     if y.IsFileSource:
> > >         print 'Filename: %s' % y.Filename
> > >     else:
> > >         print 'Filter: %s' % y.Name
> > >
> > > #bv = fg.QueryInterface (ds.IBasicVideo2)
> > > #print bv.GetVideoSize()
> > > #print bv.GetPreferredAspectRatio()
> > >
> > > 现在还处于 Alpha 阶段,不过已经有人计划用它来封装 Windows 核心 API,做一套 pure python, win32
> > > native 的界面库了.
> > http://venster.sourceforge.net/htdocs/index.html
>
> 如果这样的话使用IronPython或pywin32不是更直接?
>
> --
> I like python!
> UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
> My Blog: http://www.donews.net/limodou
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese




-- 
※※※※※※※※※※※※※※※※※※※※※※※※
My blog:  http://blog.donews.com/ygao
Forum    http://groups.google.com/group/python_study
※※※※※※※※※※※※※※※※※※※※※※※※
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: http://python.cn/pipermail/python-chinese/attachments/20061024/6276f47e/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年10月24日 星期二 20:32

limodou limodou在gmail.com
星期二 十月 24 20:32:49 HKT 2006

On 10/24/06, Yingbo Qiu <qiuyingbo在gmail.com> wrote:
> 我没有用过 pywin32,limodou 兄可以看看我给的那个例子,pywin32 或 ironpython 能很简单的做到吗?

pywin32就是对window
api的dll的一个封装,和ctype差不多,也一样可以调用com,windows的api一样可以调用。而IronPython就更强大了,它是使用C#开发的,可以使用.net上的资源。不是比起简单地调用动态库和com更直接吗?可以直接使用winform来生成界面,使用.net上的资源啊。


-- 
I like python!
UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年10月24日 星期二 21:14

yi huang yi.codeplayer在gmail.com
星期二 十月 24 21:14:55 HKT 2006

comtypes 不是就是那个从ctypes中分离出来的那个项目吧。
关于Venster ,sourceforge上的版本好像有些年头了,还依赖着 comtypes 和 ctypes 未分离时的api。
-- 
http://codeplayer.blogspot.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://python.cn/pipermail/python-chinese/attachments/20061024/3696d4bb/attachment.htm 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号