From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Mathias Dahl Newsgroups: gmane.emacs.devel Subject: Interfacing ActiveX/COM-objects "natively" in Emacs Date: Sun, 27 Mar 2005 13:21:51 +0200 Message-ID: <7dbe73ed05032703218114182@mail.gmail.com> Reply-To: Mathias Dahl NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1111923747 20573 80.91.229.2 (27 Mar 2005 11:42:27 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sun, 27 Mar 2005 11:42:27 +0000 (UTC) Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Mar 27 13:42:25 2005 Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1DFW9p-0005XM-1E for ged-emacs-devel@m.gmane.org; Sun, 27 Mar 2005 13:42:17 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DFWPg-0001Vk-Te for ged-emacs-devel@m.gmane.org; Sun, 27 Mar 2005 06:58:41 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1DFWMp-00075B-KW for emacs-devel@gnu.org; Sun, 27 Mar 2005 06:55:43 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1DFWMn-00072v-OS for emacs-devel@gnu.org; Sun, 27 Mar 2005 06:55:42 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DFWMn-0006Wh-AS for emacs-devel@gnu.org; Sun, 27 Mar 2005 06:55:41 -0500 Original-Received: from [64.233.184.200] (helo=wproxy.gmail.com) by monty-python.gnu.org with esmtp (Exim 4.34) id 1DFVq4-00007n-I7 for emacs-devel@gnu.org; Sun, 27 Mar 2005 06:21:52 -0500 Original-Received: by wproxy.gmail.com with SMTP id 50so69258wri for ; Sun, 27 Mar 2005 03:21:51 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type:content-transfer-encoding; b=taxQ1rnWk8qTpoi1AYiZadcjfXgewjnkF+QbTNlSs4HMLcsdDM08j+HtER7XCstvmpi72H6tPYrE965fit45tUyoed7yZTYar91U6KwXOTUn7K/PIWMaBnNb7xmqIEWresy/AFCSZ/dUaObSoHyzq8cJfHjB6VNks+R6pB1/iVQ= Original-Received: by 10.54.38.45 with SMTP id l45mr1018617wrl; Sun, 27 Mar 2005 03:21:51 -0800 (PST) Original-Received: by 10.54.22.12 with HTTP; Sun, 27 Mar 2005 03:21:51 -0800 (PST) Original-To: emacs-devel@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:35232 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:35232 (I apologize if this is the wrong group for discussing this. I was thinking of posting to help-emacs-windows@gnu.org, but my question is from a developer standpoint more than a user, so...) Much of my Emacs-time is at work, using MS Windows. For some small hacks (those who read gnu.emacs.sources might have seen some of them) I have needed to access different COM-objects, and the only way to do that seems to be by using an external program, in my case cscript.exe, the command-line VBScript interpreter. The basic operation is to call cscript.exe with a vbscript file name and other arguments, let the script access the objects in question, put data on standard out, and let Emacs parse that data. This works quite well (apart from the overhead of calling the external program and parsing the data) but for each time I need to access a different object I need to write yet another small script for manipulating that particular object. It seems a bit awkward. Basically, what I need is "only" to instantiate different ActiveX/COM-objects and use the methods and properties they provide, not the VBScript programming language itself. I remember reading about someone trying to make Emacs an ActiveX-object, and although that sounds interesting, this is not what I think is needed here. I also remember seeing that Python has some module that is capable of doing ActiveX-work. OK, enough blabbing, here is my question: what would be needed to make it possible doing this more "natively" from Emacs? Is it possible without rewriting major parts of Emacs? Would it be possible to do using some "plug-in" dll? Is anyone else besides be interested in it? In my opinion, it would be quite useful for accessing Windows-specific things like Registry data, automating "ActiveX-enabled" software (both proprietary and Free). Thanks for you time. /Mathias