Hello, I took the challenge from Tomasz that anyone who is willing to learn, can extend AFL to do anything. My chosen task is to restore the scroll position of the Parameters Window after a "Reset all" button click --and yes, it has an important use.
Tomasz informed me that I would need to write a DLL to make this possible. There may be other ways, but I will try it this way. First I have to say that I do not know C++ (other than AFL has a similar syntax). Next I am not very familiar with anything Windows (I am a Mac guy). So if I can do this (with a little help from my AB friends) Tomasz will be vindicated in his statements. I determined that all I need is to make an extremely simple DLL. It will create the following new AFL function: oldScrollPosition = GetSetWindowScroll(newScrollPosition); It will simply return the current scroll position of the active foreground window and then set the scroll position to the supplied parameter. It should only be about 10 lines of C++ code. I have found the Windows calls that will get the handle of the foreground window, and (with a pointer from Tomasz) calls to get and set the scroll thumb position on a standard window. Everything else I need to do I can handle with AutoIt or AFL. I have installed the free ADK and installed the free Visual C++ 2008 Express program, and started to try to write this. Initially I tried just Building the Sample DLL in the ADK. That mostly works, but gives me errors on the Plugin.cpp: error C2491: on 5 critical lines for : Definition of dllimport function not allowed these are the PLUGINAPI statements for Release, Init, GetFunnctionTable, SetSiteInterface, and GetPluginInfo. Somehow, I think I really need these lines to compile for any AB DLL to work... I have tried a bunch of things, and I can make it give me more errors, but unfortunately no less errors. So I think I need some hints or more help to get started. I was wondering if anyone has an answer, or a simple DLL sample project file that builds error free on Visual C++ 2008 Express that you could email me to get me started on the right track with this? Thanks, Dennis
