Saturday, July 07, 2007

is there any interest in using the Windows API from Notes?

I do a lot of work with the Windows API for things such as returning the current user's hostname and IP address; pinging remote systems; FTP'ing files; listing computers on the network; presenting common Windows dialogs; and a whole bunch of UI effects. I do most of that work in VB, but a lot of it could easily be ported to LotusScript. Someone asked me about FTP'ing from Notes so I'm working on that now and will post it shortly. Would there be any interest in a series of posts along these lines that exploit the underlying Windows API?

I realize most of the network operations could be done in Java, and I also accept that doing this with Windows API calls makes it platform dependent.

7 comments:

  1. In 2007, building a new app using the Windows API would be like building an app in 1995 that only used two characters to store the year. You might get away with it for a little while, but pretty soon it will come back to bite you.

    ReplyDelete
  2. @1 - Probably correct as it relates to building a complex application, but since Windows is often the *only* client platform in many Notes shops, having a bunch of useful Windows API routines for use in Lotusscript would be helpful and probably not hard to do.

    For example, I recently (like 5 minutes ago) asked Charles a question about detecting whether Domino Designer was currently running, and I suspect there is a pretty simple Windows API function I could use to get this information.

    ReplyDelete
  3. If you don't have any interest in using the Windows API then don't use it. I offered to share work I've done with it with people who are interested.

    To Kevin's question, how would you do that in a cross-platform way?

    ReplyDelete
  4. Any Windows API experience and examples would be greatly appreciated. In MOST Notes shops, all of your clients are Windows based and being able to gather information from the machine is a great tool to have.

    For example, a few years ago, I built an application that sent out an innocuous email with a stored form. As soon as it was opened, it gathered a ton of useful information from the client's machine letting me determine if i needed to upgrade any hardware before we upgraded to a new version of Windows and Notes and mailed that information back to a database. Sure, there are products that will do that sort of thing for me, but they cost significant money per seat. My solution didn't require any interference with the user's machine nor any additional cost.

    ReplyDelete
  5. I would like anyone to share "hacks" for designers. Windows API calls (from LS) that operate with designer are welcome - for example: what design element is currently edited (change log), jump to exact designelement\event\line (err resolving durring debug/test phase or links in documentation) and so on...

    ReplyDelete
  6. Feri, that's going to take Notes C API code -- if it's even possible in the current incarnation of Domino Designer. That's way beyond the scope of my abilities. I'm learning more about the Notes C API, so if I come up with anything like that I'll be sure to share.

    ReplyDelete
  7. As said by others, most Notes shops use Windows clients. Any tools to extend the Notes client's capabilities into the network or client OS are welcomed. Included in this would be the capablities to take advantage of windows scripting, WMI, etc.

    ReplyDelete