[prev in list] [next in list] [prev in thread] [next in thread] 

List:       py2exe-users
Subject:    [Py2exe-users] Svar: Re:  Executing code at shutdown (windows)
From:       "Dennis Hestbech" <dh () 2tal-mobility ! dk>
Date:       2008-08-04 8:53:00
Message-ID: 4896DF8C.39A5.00B5.0 () 2tal-mobility ! dk
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


In another work area of mine, I have gathered a little knowledge which might be at \
use here ..

When Windows gets the shutdown message, it will first close or kill the logged in \
user's processes, then the system's processes. Hence, to gain a little time at \
shutdown, once should try and let the process, that awaits the shutdown message, and \
needs to run something, run as system, if at all possible.

Just my 2 cent's worth ..

Have a nice day


Dennis


Dennis Hestbech
Systemkonsulent
dh@2tal-mobility.dk
www.2tal-mobilITy.dk
+45 2785 5673


> > > "Mark Hammond" <mhammond@skippinet.com.au> 04-08-2008 00:49 >>>

The next thing I'd try is creating a hidden top-level window and seeing if that gets \
closed - you'd probably need to create your own thread for the window and the message \
loop.  Some of the win32\Demos\win32gui_*.py have hidden windows you may be able to \
adapt.  
Cheers,
 
Mark
 
From: Mats Myrberg [mailto:mats.myrberg@gmail.com] 
Sent: Monday, 4 August 2008 5:54 AM
To: Mark Hammond
Cc: py2exe-users@lists.sourceforge.net
Subject: Re: [Py2exe-users] Executing code at shutdown (windows)
 
I did try this and while reading the API docs it seems SetConsoleCtrlHandler only \
applies to console apps.  My app is a windows app (vs console app) and so \
SetConsoleCtrlHandler does not seem to work for my app.  And that seems to be the \
case when I run my app as well.  
It seems like a great solution for console apps.  Are there parallel solutions for a \
"faceless" windows apps?  I realize I could create a service but I am trying to stay \
away from that for various reasons.  
Mats
On Fri, Aug 1, 2008 at 7:31 PM, Mark Hammond <mhammond@skippinet.com.au> wrote:
You will probably find this isn't specific to py2exe and it behaves the same
when running under pythonw.exe - if that isn't true, you should probably
chase up why things are different rather than re-inventing your own.  But
something like the following might help:

import win32api, win32con
def console_ctrl_handler(evt):
   # NOTE that this is called on its own thread
..
   # False means "run the next/default handler", True means don't call
others.
   rc = False
   # During a log-off etc process the console is also closed, so this works
   # OK here.
   if evt in (win32con.CTRL_CLOSE_EVENT, win32con.CTRL_LOGOFF_EVENT):
.. do something to *asynchronously* close the app.
       rc = True
   return rc

..
win32api.SetConsoleCtrlHandler(console_ctrl_handler, True)

Note that the above is untested and was pulled from an app that will either
have a console or a real window, so just uses win32con.CTRL_CLOSE_EVENT (and
relies on the window being closed at logoff) so you might need to experiment
with exactly which events you need to handle (and as I implied above, try
and find out if twisted is expected to handle this situation ok already, or
already has a "Console Control Handler" that needs tweaking, etc)  Also,
take care of threading issues - unlike a unix signal, this comes on a new
thread created just for the purpose of delivering the event, so you will
need to find out how to break your event loop externally.

HTH,

Mark
-----------
From: py2exe-users-bounces@lists.sourceforge.net
[mailto:py2exe-users-bounces@lists.sourceforge.net] On Behalf Of Mats
Myrberg
Sent: Friday, 1 August 2008 7:08 PM
To: py2exe-users@lists.sourceforge.net
Subject: [Py2exe-users] Executing code at shutdown (windows)

Hi,

I have a windows app that behaves strangely on shutdown.  Basically, the app
is using twisted and uses twisted's reactor as the "event loop".  However,
on shutdown and compiled as a windows, not console, app, the app never
exists the "event loop" but rather just gets killed.  This gives my code no
opportunity to release resources it is holding  on to etc.  I have looked at
all the py2exe email archives and the site but nothing seems to address how
the exe gets "shutdown".  

I am looking for a way for me to run some code when Windows signals a
shutdown (or logoff).  BTW I realize this is a possible for a service but
want to keep my app as an app for now.

TIA,

Mats


 


[Attachment #5 (multipart/related)]

[Attachment #7 (text/html)]

<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:v = \
"urn:schemas-microsoft-com:vml" xmlns:o = "urn:schemas-microsoft-com:office:office" \
xmlns:w = "urn:schemas-microsoft-com:office:word" xmlns:m = \
"http://schemas.microsoft.com/office/2004/12/omml"><HEAD> <META \
http-equiv=Content-Type content="text/html; charset=iso-8859-15"> <META \
content="MSHTML 6.00.6001.18063" name=GENERATOR> <STYLE>
<!--
 /* Font Definitions */
 @font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
MsoChpDefault
	{mso-style-type:export-only;}
@page Section1
	{size:612.0pt 792.0pt;
	margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
	{page:Section1;}
-->
</STYLE>
</HEAD>
<BODY lang=EN-US style="MARGIN: 4px 4px 1px; FONT: 10pt Tahoma" vLink=purple \
link=blue> <DIV>In another work area of mine, I have gathered a little knowledge \
which might be at use here ..</DIV> <DIV>&nbsp;</DIV>
<DIV>When Windows gets the shutdown message, it will first close or kill the logged \
in user's processes, then the system's processes.</DIV> <DIV>Hence, to gain a little \
time at shutdown, once should try and let the process, that awaits the shutdown \
message, and needs to run something, run as system, if at all possible.</DIV> \
<DIV>&nbsp;</DIV> <DIV>Just my 2 cent's worth ..</DIV>
<DIV>&nbsp;</DIV>
<DIV>Have a nice day</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>Dennis</DIV>
<DIV>&nbsp;</DIV>
<DIV>
<DIV><IMG src="cid:ZMXXBLFIZKKM.IMAGE_2.BMP"></DIV>
<DIV>
<DIV>Dennis Hestbech</DIV>
<DIV>Systemkonsulent</DIV></DIV>
<DIV><A href="mailto:dh@2tal-mobility.dk">dh@2tal-mobility.dk</A></DIV>
<DIV><A href="http://www.2tal-mobility.dk/">www.2tal-mobilITy.dk</A></DIV>
<DIV>+45&nbsp;2785 5673</DIV><BR><BR>&gt;&gt;&gt; "Mark Hammond" \
&lt;mhammond@skippinet.com.au&gt; 04-08-2008 00:49 &gt;&gt;&gt;<BR></DIV> <DIV \
class=Section1> <P class=MsoNormal><SPAN style="FONT-SIZE: 11pt; COLOR: #1f497d; \
FONT-FAMILY: 'Calibri','sans-serif'">The next thing I'd try is creating a hidden \
top-level window and seeing if that gets closed - you'd probably need to create your \
own thread for the window and the message loop.&nbsp; Some of the \
win32\Demos\win32gui_*.py have hidden windows you may be able to \
adapt.<o:p></o:p></SPAN></P> <P class=MsoNormal><SPAN style="FONT-SIZE: 11pt; COLOR: \
#1f497d; FONT-FAMILY: 'Calibri','sans-serif'">&nbsp;<o:p></o:p></SPAN></P> <P \
class=MsoNormal><SPAN style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: \
'Calibri','sans-serif'">Cheers,<o:p></o:p></SPAN></P> <P class=MsoNormal><SPAN \
style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: \
'Calibri','sans-serif'"><o:p>&nbsp;</o:p></SPAN></P> <P class=MsoNormal><SPAN \
style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: \
'Calibri','sans-serif'">Mark<o:p></o:p></SPAN></P> <P class=MsoNormal><SPAN \
style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: \
'Calibri','sans-serif'"><o:p>&nbsp;</o:p></SPAN></P> <DIV style="BORDER-RIGHT: medium \
none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 4pt; PADDING-BOTTOM: \
0cm; BORDER-LEFT: blue 1.5pt solid; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none"> \
<DIV> <DIV style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: #b5c4df \
1pt solid; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; \
PADDING-TOP: 3pt; BORDER-BOTTOM: medium none"> <P class=MsoNormal><B><SPAN \
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'">From:</SPAN></B><SPAN \
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'"> Mats Myrberg \
[mailto:mats.myrberg@gmail.com] <BR><B>Sent:</B> Monday, 4 August 2008 5:54 \
AM<BR><B>To:</B> Mark Hammond<BR><B>Cc:</B> \
py2exe-users@lists.sourceforge.net<BR><B>Subject:</B> Re: [Py2exe-users] Executing \
code at shutdown (windows)<o:p></o:p></SPAN></P></DIV></DIV> <P \
class=MsoNormal><o:p>&nbsp;</o:p></P> <DIV>
<P class=MsoNormal>I did try this and while reading the API docs it \
seems&nbsp;SetConsoleCtrlHandler only applies to console apps. &nbsp;My app is a \
windows app (vs console app) and so&nbsp;SetConsoleCtrlHandler does not seem to work \
for my app. &nbsp;And that seems to be the case when I run my app as \
well.<o:p></o:p></P> <DIV>
<P class=MsoNormal><o:p>&nbsp;</o:p></P></DIV>
<DIV>
<P class=MsoNormal>It seems like a great solution for console apps. &nbsp;Are there \
parallel solutions for a "faceless" windows apps? &nbsp;I realize I could create a \
service but I am trying to stay away from that for various \
reasons.<o:p></o:p></P></DIV> <DIV>
<P class=MsoNormal><o:p>&nbsp;</o:p></P></DIV>
<DIV>
<P class=MsoNormal style="MARGIN-BOTTOM: 12pt">Mats<o:p></o:p></P>
<DIV>
<P class=MsoNormal>On Fri, Aug 1, 2008 at 7:31 PM, Mark Hammond &lt;<A \
href="mailto:mhammond@skippinet.com.au">mhammond@skippinet.com.au</A>&gt; \
wrote:<o:p></o:p></P> <P class=MsoNormal>You will probably find this isn't specific \
to py2exe and it behaves the same<BR>when running under pythonw.exe - if that isn't \
true, you should probably<BR>chase up why things are different rather than \
re-inventing your own. &nbsp;But<BR>something like the following might \
help:<BR><BR>import win32api, win32con<BR>def console_ctrl_handler(evt):<BR>&nbsp; \
&nbsp;# NOTE that this is called on its own thread<BR>...<BR>&nbsp; &nbsp;# False \
means "run the next/default handler", True means don't call<BR>others.<BR>&nbsp; \
&nbsp;rc = False<BR>&nbsp; &nbsp;# During a log-off etc process the console is also \
closed, so this works<BR>&nbsp; &nbsp;# OK here.<BR>&nbsp; &nbsp;if evt in \
(win32con.CTRL_CLOSE_EVENT, win32con.CTRL_LOGOFF_EVENT):<BR>... do something to \
*asynchronously* close the app.<BR>&nbsp; &nbsp; &nbsp; &nbsp;rc = True<BR>&nbsp; \
&nbsp;return rc<BR><BR>...<BR>win32api.SetConsoleCtrlHandler(console_ctrl_handler, \
True)<BR><BR>Note that the above is untested and was pulled from an app that will \
either<BR>have a console or a real window, so just uses win32con.CTRL_CLOSE_EVENT \
(and<BR>relies on the window being closed at logoff) so you might need to \
experiment<BR>with exactly which events you need to handle (and as I implied above, \
try<BR>and find out if twisted is expected to handle this situation ok already, \
or<BR>already has a "Console Control Handler" that needs tweaking, etc) \
&nbsp;Also,<BR>take care of threading issues - unlike a unix signal, this comes on a \
new<BR>thread created just for the purpose of delivering the event, so you \
will<BR>need to find out how to break your event loop \
externally.<BR><BR>HTH,<BR><BR>Mark<BR>-----------<BR>From: <A \
href="mailto:py2exe-users-bounces@lists.sourceforge.net">py2exe-users-bounces@lists.sourceforge.net</A><BR>[mailto:<A \
href="mailto:py2exe-users-bounces@lists.sourceforge.net">py2exe-users-bounces@lists.sourceforge.net</A>] \
On Behalf Of Mats<BR>Myrberg<BR>Sent: Friday, 1 August 2008 7:08 PM<BR>To: <A \
href="mailto:py2exe-users@lists.sourceforge.net">py2exe-users@lists.sourceforge.net</A><BR>Subject: \
[Py2exe-users] Executing code at shutdown (windows)<o:p></o:p></P> <DIV>
<DIV>
<P class=MsoNormal style="MARGIN-BOTTOM: 12pt"><BR>Hi,<BR><BR>I have a windows app \
that behaves strangely on shutdown. &nbsp;Basically, the app<BR>is using twisted and \
uses twisted's reactor as the "event loop". &nbsp;However,<BR>on shutdown and \
compiled as a windows, not console, app, the app never<BR>exists the "event loop" but \
rather just gets killed. &nbsp;This gives my code no<BR>opportunity to release \
resources it is holding &nbsp;on to etc. &nbsp;I have looked at<BR>all the py2exe \
email archives and the site but nothing seems to address how<BR>the exe gets \
"shutdown". &nbsp;<BR><BR>I am looking for a way for me to run some code when Windows \
signals a<BR>shutdown (or logoff). &nbsp;BTW I realize this is a possible for a \
service but<BR>want to keep my app as an app for \
now.<BR><BR>TIA,<BR><BR>Mats<BR><BR><o:p></o:p></P></DIV></DIV></DIV> <P \
class=MsoNormal><o:p>&nbsp;</o:p></P></DIV></DIV></DIV></DIV></BODY></HTML>


[Attachment #8 (unknown)]

BM26( \
1ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶdz \
ůůůůůůůůůůůůůůůDZʶʶʶʶʶ \
ɵůůȳʶʶʶʶʶŰůDZʶʶʶʶʶʶʶŰůDZ \
DzůůůůůůůůDZʶʶʶʶʶʶʶʶͷлкʶʶʶʶʶ \
͸л͹ʶʶʶʶʶйл͸ʶʶ̷Ϲллллллк \
͸ʶʶʶкллллллллк͸ʶʶʵкл̸ \
ͷлллллллл \
ιʵŰůůɴʶʶʶʶʶʶʶDzůůȲʶʶʶʶʶʶʶʶкллллллк \
ι˶ʶʶʶʶʶʶʶʶʶʶdz \
DZʶʶʶɵɶȳʶʶʶ \
İDZʶʶʶʶʶŰ \
DZʶʶʶʶʶʶͷηʶʶʶѺѼʶʶʶ \
Ϲ͸һθ˷ʹ \
Ϲ˷λ \
ȴƺɴʶʶʶʶʶDzȲʶʶʶʶʶʶͺ \
ʵ͸ʶʶʶʶʶʶʶʶʶDz \
ƯʶʶʶɵȶȲʶʶʶï \
ưʶʶʶʶʶįƯʶʶʶʶʶʶ \
θxxy}zϸʶʶѺ \
wvx}}~wvxҼʶʶл~~xxyԾxwxzy{xwyxvyxvyxvyxvyxvy \
zyzyy{}{˵̻vu|~}}yy{xvyxvyxvyxvyxvyxvyzyzyy{{yʴѾwuxxyzyy||~xvyxvyxvyxvyxvytsw \
ǴĺɴʶʶʶʶʶƱDZʶʶʶʶʶʶ \
λtv~wvxxvyxvyxvyxvyxvyyxzzz|xuv̸ʶʶʶʶʶʶʶʶDz \
Ưʶʶʶ \
ɵȶȲʶʶʶïůůůůůϽɴʶʶʶʶʶʶ \
θ zz{|ϸʶҺ \
xvx~~~yyz~~~wvyҼʶѻzz{ɼwv{}}~ \
}||wxzνxw~{{|}||xx{yxz \
z{{z{~ðĺɴʶʶʶʶʶƱDZʶʶʶʶʶʶ͸ \
ððððŲ|}z{} \
ϺʶʶʶʶʶʶʶʶDzììììììì \
ììììƯʶʶʶʶɵȶȲʶʶʶï \
ȳȳȳȳȳɴϹллллллѺ \
zz{|ϸһxvx|}~~ƶ}}}}wwyҼѻzz{ʼyx}yz{ \
к̷̷̷̷ ͷ˽yx|yy{νxw~yy{ֿӼӼӼӼԼywyyz| \
yxzz{zz{}һ̷̷̷̷̷˷ĺɴʶ \
ʶʶʶʶƱDZʶʶʶʶʶϹ{{} \
ϺʶʶʶʶʶʶʶʶDzưʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶɵȶȲʶʶʶï \
ĭʶʶʶʶʶϹzz{|ؽxvx|}~}|ʴ \
Ϲʺ|~}}}wwy zz{ʼyx}yz{ \
͸ʶʶʶʶ˶ƺyx|yy{νxw~~~~ \
xx{ӿyxzz{zz{}ϹʶʶʶʶʶʵĺɴʶʶʶʶʶƱDZʶʶʶʶ \
θusw{z{xxzxvyxvyxvyxvyxvyxvy~~~{|} \
ϺʶʶʶʶʶʶʶʶDzůůůůůůů \
ůưDzɵʶʶʶʶʶɵȶȲʶʶʶï \
ĭʶʶʶʶʶѺ \
vtvxvyxvyxvyxvyrquzz{~xvx|}~}|ʵ̸ʶ̷ʺ|~}}}wwyzz{ʼyx}yz{ \
͸ʶʶʶʶ˶ƺyx|yy{νxw~yy|xvyxvyxvyxvyxvyxvy{yz~ \
}θѾyxzz{zz{}Ϲʶʶʶʶʶʵĺ \
ɴʶʶʶʶʶƱDZʶʶʶʶк}}}zz| \
ϺʶʶʶʶʶʶʶʶDz \
ɴʶʶʶʶɵȶȲʶʶʶïžž \
žžŽĭʶʶʶʶʶ˷ɳ \
|{{~|{{|}~}}˴̸ʶʶʶ̶˻}}}}{||{{}ʼyx}yz{ \
͸ʶʶʶʶ˶Ǻyx|yy{νxw~{{|{ \
z{xy{yxzz{zz{}Ϲʶʶʶʶʶʵĺ \
ɴʶʶʶʶʶƱDZʶʶʶʶкzz{Ҽ̷̷̷̷̷Ҽzz{ \
ϺʶʶʶʶʶʶʶʶɵɶƸɳůůůĮï \
ëůůů \
ĭʶʶʶʶʶʶ˷̷̷̷̷̷̷Ϲ \
|{{|}~}}˵̸ʶʶʶʶʶ̶ʻ}~}|{{}ɼyw}zz| \
վллллһǻyx{yy{νxw~yy{ֿӼӼӼӼսȽzxyyz| \
yxzz{zz{}ϹʶʶʶʶʶʵĺɴʶʶʶʶʶƱDZʶʶʶʶкzz{ \
Ϻʶʶʶʶʶкzz{ \
Ϻʶʶʶʶʶʶʶʶʶȴư \
Ʊ \
˾ĭʶʶʶʶʶʶʶʶʶʶʶʶʶ \
θ|{{}}~}}˵̸ʶʶʶʶʶʶʶ̶̻}~||{{}ξvv} \
~~xx{xwzvtxͼxw~~~~ \
xvxttxӿyxzz{zz{}Ϲʶʶʶʶʶʵ \
ĺɴʶʶʶʶʶƱDZʶʶʶʶкzz{ \
ιʶʶʶʶʶкzz{ \
Ϻʶʶʶʶʶʶʶʶʶʶɵí \
Ʋë \
ĭĭʶʶʶʶʶʶʶʶʶʶʶʶʶ ͷ \
rps{{ʵ̸ʶʶʶʶʶʶʶʶʶ˶λ|qptһ|} \
wuxvtxvtwvtwvtwvtwvtwwvx{wxк˺qnxxvxvuxvtwvtwvtwvtwvtwvuwwux~{{л \
нrozrqtrqtxvϹʶʶʶʶʶʵĺɳůůůůů \
ůůůů̴||rqt Ϻʶʶʶʶʶк|~rqt  \
ϺʶʶʶʶʶʶʶʶʶʶƱ \
ŮíìììììììììììȲɶDz \
íìììììììŮȳʶƱìĭʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ͷӼҼ˷ʶʶʶʶʶʶʶʶʶʶʶʶѻӼιʶͷһӼӼӼӼӼӼӼӼҼ \
ιʶʶӼӼӼӼӼӼӼӼӼӼҼ \
ιʶʵӼӼ͹θӼҼʶʶʶʶʶʶʵĹʶ˹Ӽ \
ϺʶʶʶʶʶʶʶѺӼ \
Ϻʶʶʶʶʶʶʶʶʶʶʶů \
Ȳʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʵĹʷ \
ʵʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶů \
ưʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʵĺ˸ \
ʵʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶůììììììììììĮŰȳʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʵĮì \
ìɴɴíììììììììììììììĭʵʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ \
ʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶʶ




-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/

_______________________________________________
Py2exe-users mailing list
Py2exe-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/py2exe-users


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic