Axel - While browising FAQs and message boards I found a question you had posted a few months ago. I decided to write you in case you had not learned the answer yet. (I remember this answer was pretty tough to find when I needed it!) =========================================================================== Hi all, I tried to write a Win32 program in with GHC 4.05 but I am stumbeling over the definition type WNDCLASS = (ClassStyle, -- style HINSTANCE, -- hInstance MbHICON, -- hIcon MbHCURSOR, -- hCursor MbHBRUSH, -- hbrBackground MbLPCSTR, -- lpszMenuName ClassName) -- lpszClassName which looks fine if I'd knew where to get hInstance. main doesn't give it to me. Can specify something like winMain hInstance ... = as my main program entry? Or a more sensible question: Is there any userguide on how to use the Win32 library? Cheers, Axel. =========================================================================== You can get a handle to the current instance of your app in one of 2 ways that I am aware of... 1) You can replace your main() with WinMain (defined below) in which case windows will pass you the instance, and you can either pass it into other functions or use it directly int WINAPI WinMain( HINSTANCE hInstance, // handle to current instance HINSTANCE hPrevInstance, // handle to previous instance LPSTR lpCmdLine, // pointer to command line int nCmdShow // show state of window ); OR 2) you can call GetModuleHandle (defined below) and pass in NULL for the lpModuleName and cast the resulting HMODULE into a HINSTANCE as shown below HMODULE GetModuleHandle( LPCTSTR lpModuleName // address of module name to return handle for ); To Use: HINSTANCE hInstance = (HINSTANCE)GetModuleHandle(NULL); Good luck! Vince _______________________________________________ Glasgow-haskell-users mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/glasgow-haskell-users