Skip to main content
Inspiring
July 7, 2023
Question

C++ Windows - posting to application event log

  • July 7, 2023
  • 1 reply
  • 1034 views

Is there anything special that needs to be done to post to the Windows Applicationevent log? Using some boilerplate code that doesn't get any error, but not seeing anything in the log.

I had to set up the policy.txt file to allow file access and to run an external application, but didn't see anything in the docs about event log access.

This topic has been closed for replies.

1 reply

Inspiring
July 7, 2023

Actually, I was mistaken; it is getting access denied.

Inspiring
July 7, 2023

code below. The handle returned from OpenEventLog is NULL and GetLastError returns 5, which is access denied. 

 
DWORD dwLastError = 0;
int PostToEventLog(string sMessage, bool bErr)
{
    HANDLE hHandle = OpenEventLog(NULL, "Application");
 
    if (NULL != hHandle)
    {
        int eventtype;
        if (bErr)
            eventtype = EVENTLOG_ERROR_TYPE;
        else
            eventtype = EVENTLOG_SUCCESS;
        if (!ReportEvent(hHandle, eventtype, 0, 0, NULL, 1, 0, (LPCTSTR *)sMessage.c_str(), NULL))
        {
            return -1;
        }
CloseEventLog(hHandle);
    }
else
{
dwLastError = GetLastError();
return (int)dwLastError;
}
    return 0;
}
 
Thom Parker
Community Expert
July 7, 2023

This is an Acrobat Developer forum. Are you running this code from within an Acrobat Plug-in?  

If not, then you are in the wrong place. 

 

Thom Parker - Software Developer at PDFScriptingUse the Acrobat JavaScript Reference early and often