#define INCL_PM
#include <os2.h>
#include <stdio.h>
#include <string.h>


void main()
{ static UCHAR ucKey[16],ucObjData[65000],ucKeyData[1024],*substr;
  ULONG k,l,ulObjDataSize=sizeof(ucObjData),ulKeyDataSize;
  USHORT w;
  FILE *f;

  if (PrfQueryProfileData(HINI_USERPROFILE,"PM_Abstract:Objects",NULL,ucObjData,&ulObjDataSize)) {
    f=fopen("abstract.txt","w");
    fwrite(ucObjData, ulObjDataSize,1,f);
    fclose(f);

   for (k=0;ucObjData[k]!='\0';k+=strlen(ucKey)+1) {
     strncpy(ucKey,&ucObjData[k],sizeof(ucKey)-1);
     printf("%s",ucKey);
     ulKeyDataSize=sizeof(ucKeyData);
     if (PrfQueryProfileData(HINI_USERPROFILE,"PM_Abstract:Objects",ucKey,ucKeyData,&ulKeyDataSize)) {
       for (l=0,substr=NULL;substr==NULL && l<ulKeyDataSize-strlen("WPAbstract");l++)
         if ((substr=strstr(&ucKeyData[l],"WPAbstract"))!=NULL) substr+=17;
       printf(" %s %s cmd=%s",&ucKeyData[4],substr,&ucKeyData[0xb9]);

       for (l=0,substr=NULL;substr==NULL && l<ulKeyDataSize-strlen("WPProgramRef");l++)
         if ((substr=strstr(&ucKeyData[l],"WPProgramRef"))!=NULL) {
           substr+=19;
           memcpy(&w,substr,2);
           printf(" %X",w);
         }
     }
     printf("\n");
   }
  }

  ulObjDataSize=sizeof(ucObjData);
  if (PrfQueryProfileData(HINI_SYSTEMPROFILE,"PM_Workplace:Handles0","BLOCK1",ucObjData,&ulObjDataSize)) {
    f=fopen("block1.txt","w");
    fwrite(ucObjData, ulObjDataSize,1,f);
    fclose(f);
  }
printf("%X\n",153764);
}