APIrator_shell  v.2004.10.31  (draft)
-------------------------------------

(1) It is just shell for APIrator: s0mApirator's call-commands arn't joined yet.


(2) After 1-st run APIrator creates:

   file _libraries.ini (empty);

   file _apirator.in_ (last size, position and other window params);

   file _apilog.txt (content of Output-Edit if it isn't empty).


  After next runs:

   restoration size, position and other window params from file _apirator.in_;

   filling Lib-combobox from _libraries.ini;

   _apilog.txt continuation.


(3) Sysmenu:
 
  "Get system 32bit DLLs" => filling Lib-combo ("please wait...")

  "Save Libraries" -> file _libs.txt from Lib-combo
	(you can copy part of _libs.txt to _libraries.ini) .

  "Save selected Export" -> file _export.txt from Exp-combo.

  Other items are working too.


(4) 'Upgrade' for standard caption buttons (use right button click):


  MIN-button + WM_NCRBUTTONDOWN => tray

  MAX-button + WM_NCRBUTTONDOWN => disabled MAX-button + (not WS_THICKFRAME)

  Disabled MAX-button + WM_NCRBUTTONDOWN => enabled MAX-button + WS_THICKFRAME

  CLOSE-button + WM_NCRBUTTONDOWN => trigger: HELP-button instead of MIN/MAX-buttons and vice versa.

  HELP-button + WM_NCRBUTTONDOWN => tray


(5) Some ways to get export (names) from DLL:

   - Sysmenu -> 'Open...'
   
   - Sysmenu -> 'Get system 32bit DLLs'

   - Drag'n'drop DLL to APIrator
   
   - Choose DLL from list in lib.combo
   
   - Just type full path to DLL in lib.combo;
     but if DLL lies in system/windows/APIrator directory - 
     just type DLL's name only.


(6) Drag&Drop:

  if file is PE with export => insertion into the list of DLLs (in Lib-combo);

  if file isn't PE => loading to Input-Edit as z-string (for Win98 its limit =64 kb).


(7) Key F8:

   if APIrator's window is foreground -
     
        info from point under cursor -> Output-Edit.


(8) Clicks:

  WM_LBUTTONDBLCLK to Exp-combo => 
  		typing Start and End parts of CALL-command in Input-Edit:
 
                [selected in Lib-combo],,[selected in Exp-combo],,   

  WM_LBUTTONDBLCLK to Input-Edit =>     not working yet for CALL-commands, just beep.

  WM_LBUTTONDBLCLK to Lib-combo =>      reserv, just beep

  WM_LBUTTONDBLCLK to Output-Edit =>    reserv, just beep

  WM_LBUTTONDBLCLK to main window =>    regimes trigger + bg_color trigger#1

  WM_RBUTTONDBLCLK to main window =>    client area capture trigger + bg_color trigger#2

  WM_LBUTTONDOWN =>   used in client area capture trigger:

		.elseif	eax==WM_LBUTTONDOWN
			cmp	bg_count3,0
			jz	@f
			call	ReleaseCapture
			invoke	SendMessage,hWnd,WM_NCLBUTTONDOWN,HTCAPTION,0
		@@:
 
 
(9) Regimes trigger.

  Main window, Input-Edit and Output-Edit have style WS_THICKFRAME,
  so it's easy to change size and position of monolithic block of controls
  (Lib-combo + Exp-combo + Input-Edit + Output-Edit).

  After 1-st WM_LBUTTONDBLCLK to main window => fixed size/pos of block,
  after 2-nd WM_LBUTTONDBLCLK to main window => expansible size/pos,
  then 3-d = 1-st, etc.

  So it's easy to free place, say, for new control.


-----------------------------------------------------
kero (geocities.com/xmemor)

http://www.geocities.com/xmemor/2lz/apirator.html

http://www.geocities.com/xmemor/2lz/s0mapirator.html
