I use VS2005, but I think the libraries and headers should be compatible. You need either the 32 bit or 64 bit version download or just grab the Lua directory from the Grunt sources! Grunt is statically linked so you can use that as an example - the magic is the "extern "C"" stuff in the stdafx.h file - took me some faffing about to work out how to do this! Btw if you are not already familiar with it, the WTL/ATL combo is a great way of writing low-overhead, low-dependency Windows code, much better than MFC imho! It is also surprisingly easy to compile Lua from sources under VS2005 (and I guess 2008) - the team have done a great job of writing truly portable source code. No faffing about with command lines or code editing, like stuff ported from Linux usually requires! I was thinking in terms of a completely general purpose extensions framework, were you'd want a single Lua environment to keep everything in synch and allow easy communication between add-in sites, but for a more specific purpose, running the Lua environment in each Explorer process might well be viable (just make sure it cannot crash!). -----Original Message----- From: Bulat Ziganshin [mailto:bulat.ziganshin@gmail.com] Sent: 06 May 2009 14:45 To: John Hind Cc: 'Bulat Ziganshin'; 'Lua list' Subject: Re[5]: Scriptable Shell Extension Hello John, Wednesday, May 6, 2009, 5:09:29 PM, you wrote: > Yes, although this means your extension will get called a lot so it had > better return very promptly when it has nothing to do. i think that checking extension and returning empty list would be in microseconds range. and this particular extensions don't called a lot - only when user right-click or runs/prints/... the file > My concern is more > about which process the Lua runtime and scripts run in - you have little > control as these extensions are in-process DLLs running in Explorer's > process. With some Windows configurations you will get one instance of your > add-in, with others one per Explorer window (plus do not forget the desktop, > IE and other places where these extensions get invoked). and you think that 100 kb (for pure Lua) or 500 kb (for Grunt) is too much for loading it in every process? > I'm sure these issues can be surmounted, but like I say it may not be as > simple as it seems at first, particularly if you want to do a general > purpose extension system like FileMenuTools (which was the example that got > me thinking on these lines). > Good luck with it - I will be interested to see what you come up with! i just need to add RCM to my app, and this looks simplest way to do so. we will see later how it will be useful for anyone else. at least SciTE shell extension, that is my starting point, seems to become popular among s/w developers needing to implement RCM. with a ready-to-run scriptable solution (although much larger in size) some developers would become really happy :) one more question - if i use VS2008 and want to use static linking, should i download these archives: lua5_1_4_Win32_vc9_lib.zip lua5_1_4_Win64_vc9_lib.zip ? -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com
Attachment:
smime.p7s
Description: S/MIME cryptographic signature