struct PluginStartupInfo
{
int StructSize;
char ModuleName[NM];
int ModuleNumber;
const char *RootKey;
FARAPIMENU Menu;
FARAPIDIALOG Dialog;
FARAPIMESSAGE Message;
FARAPIGETMSG GetMsg;
FARAPICONTROL Control;
FARAPISAVESCREEN SaveScreen;
FARAPIRESTORESCREEN RestoreScreen;
FARAPIGETDIRLIST GetDirList;
FARAPIGETPLUGINDIRLIST GetPluginDirList;
FARAPIFREEDIRLIST FreeDirList;
// FAR >= 1.50
FARAPIVIEWER Viewer;
FARAPIEDITOR Editor;
FARAPICMPNAME CmpName;
// FAR >= 1.52
FARAPICHARTABLE CharTable;
FARAPITEXT Text;
// FAR >= 1.60
FARAPIEDITORCONTROL EditorControl;
// FAR >= 1.70
FARSTANDARDFUNCTIONS *FSF;
FARAPISHOWHELP ShowHelp;
FARAPIADVCONTROL AdvControl;
FARAPIINPUTBOX InputBox;
FARAPIDIALOGEX DialogEx;
FARAPISENDDLGMESSAGE SendDlgMessage;
FARAPIDEFDLGPROC DefDlgProc;
DWORD_PTR Reserved;
FARAPIVIEWERCONTROL ViewerControl;
};
Software\Far\Plugins", but you must not specify this
string directly, because it can be changed or can become optional in future.
For example, if FAR is started with
'/u user1' command line parameter, RootKey will
contain "Software\Far\Users\user1\Plugins".
Do not save parameters directly in the RootKey, create your own subkey here.