[Tutor] interpreter restarts
Tiger12506
keridee at jayco.net
Mon Jul 16 13:11:50 CEST 2007
> But there's an exception to that - if you right-click a file in Windoze
> and 'edit' it,
> IDLE won't open up its subprocess, and as such, it can't restart the
> interpreter session because it's running in the same
> process as IDLE, and to restart the interpreter would mean restarting
> IDLE.
> Boy, that 'edit with idle' thing sure does cause some problems, don't it?
> :)
> -Luke
Thanks, Luke. I hadn't thought of that. Question: Why won't IDLE open up its
subprocess?
This is the command that is in the registry concerning the Edit with IDLE
menu.
"C:\Python25\pythonw.exe" "C:\Python25\Lib\idlelib\idle.pyw" -n -e "%1"
This is the Target for the shortcut in the Start Menu (Note: the Target box
was disabled!)
Python 2.5.1
I thought that this was incredibly strange, so I opened this shortcut in a
hex editor to see what was different about this shortcut. (Normally, they
have a path in the target box)
What I found surprised me. The title of the file in the hex editor said
"python_icon.exe"
I started laughing maniacally and checked the full path of the file from
within the hex editor.
C:\windows\installer\{31800004-6386-4999-a519-518f2d78d8f0}\python_icon.exe
IDLE is started in two *very* different ways. So my next question was: Can
you pass arguments to this python_icon.exe? Simple navigations to that
directory and a confirmation... Yuck. You can't even execute it from
explorer. A low-level ZwTerminateProcess function from ntdll is called ...
Let me try something...
Woah... {31800004-6386-4999-a519-518f2d78d8f0} appears in the registry in
alot of places. The Uninstall key for Add/Remove Programs, some weird data
thing... Okay, this is beyond me. I don't know the registry or understand
CLSIDs very well. Someone who knows Windows inside and out has done a number
with the python installer, or at least the msi installer does this all
automatically. Interesting. I wonder just how python_icon.exe starts IDLE.
If I could figure that out, I could emulate it with the Edit w/Idle menu
item and get IDLE to start a subprocess! But how.... any ideas?
JS
More information about the Tutor
mailing list