home *** CD-ROM | disk | FTP | other *** search
/ PC World 1999 June / PCWorld_1999-06_cd.bin / software / Servis / DreamK / DK_Example.cpp next >
C/C++ Source or Header  |  1999-03-29  |  3KB  |  86 lines

  1. #include <windows.h>
  2.  
  3. char *pszIncoming[80]; //global, used for LoadSettings()
  4.  
  5. /////// following functions are REQUIRED. If you omit one of these, the program and/or the
  6. /////// plug-in will not operate normally and is even likely to CRASH. And we don't want that
  7. /////// to happen, do we?
  8.  
  9. char* DLLName(void) {
  10.     return "Programmers example plug-in";  //ALL strings are ZERO TERMINATED (which is normal, in C)
  11. }
  12.  
  13. int NumberOfHotkeys(void) {
  14.     return 2;    //2 hotkeys defined in this plug-in. The first hotkey has number 0 (zero)!!
  15. }
  16.  
  17. void DefaultHotkey(int iHotkeyNr, int &iVkCode, int &iMod) {
  18.     switch (iHotkeyNr) {
  19.         case 0:
  20.             iVkCode='4';  //Virtual Key Code
  21.             iMod=MOD_CONTROL; //there are 3: MOD_CONTROL, MOD_ALT, MOD_SHIFT. To combine them, use OR (|)
  22.             return;
  23.         case 1:
  24.             iVkCode='5';
  25.             iMod=MOD_CONTROL;
  26.             return;
  27.     }
  28. }
  29.  
  30. char* HotkeyName(int iHotkeyNr) {
  31.     switch (iHotkeyNr) {
  32.         case 0:
  33.             return "put Example 1 on screen";
  34.         default:    //should be case 1:, but that results in a warning from the compiler. No problem though.
  35.             return "put Example 2 on screen";
  36.     }
  37. }
  38.  
  39. void HotkeyPressed(int iHotkeyNr) {
  40.     switch (iHotkeyNr) {
  41.         case 0:    //here is the first hotkey handled
  42.             MessageBox(NULL,"This is Example Hotkey 1","It worked!",MB_ICONINFORMATION);
  43.             return;
  44.         case 1:    //and the second hotkey
  45.             MessageBox(NULL,"This is Example Hotkey 2","It worked!",MB_ICONINFORMATION);
  46.             return;
  47.     }
  48. }
  49.  
  50.  
  51. int DLLSpecVersion(int iDKVersion) {
  52.     if (iDKVersion<1)
  53.         return 0;  //return 0 if the version of the control panel is too old.
  54.     else
  55.         return 1; //otherwise, return the version for which this plug-in is written.
  56. }
  57.  
  58. /////// following functions are NOT required. If you don't need a specific function,
  59. /////// just omit the function in your Plug-in.
  60.  
  61. BOOL LoadSettings(int iNumber, char *&pszKey,char *&pszValue, int &iValueSize) {
  62.     pszKey="Example";    //this is the keyname. The value after this keyname is stored in pszValue
  63.     pszValue=(char*)pszIncoming;  //psazIncoming must be available outside this function. It's global here.
  64.     iValueSize=80;    //size of array
  65.     return FALSE;    //no more things to load after this one. Return TRUE if there are more thing to load.
  66. }
  67.  
  68. BOOL SaveSettings(int iNumber, char *&pszKey,char *&pszValue) {
  69.     pszKey="Example";    //store the folowing data in the key "Example"
  70.     pszValue="This text is saved in DreamKeys.ini";    //the data to be stored
  71.     return FALSE;    ////no more things to save after this one. Return TRUE if there are more thing to save.
  72. }
  73.  
  74. char* MoreInfo(void) {
  75.     return "An example plug-in for programmers. The source of this plug-in is freely available at out webpage.\n⌐1999 Digital Dreams Software";
  76. }
  77.  
  78. BOOL AcceptAuto(void) {
  79.     return TRUE;    //if returned FALSE, a warning is issued when user sets this plug-in to auto. Default is TRUE.
  80. }
  81.  
  82. void Config(void) {
  83.  
  84.     //you can do here whatever you want, as long as it has something to do with the plug-in :-)
  85.     MessageBox(NULL,"Normally, a configuration dialog for the Plug-in is displayed now. This is just an example","Config button pressed",MB_ICONINFORMATION);
  86. }