1. Félix Domínguez Lorenzo
  2. PowerBuilder
  3. Sunday, 14 June 2020 10:13 AM UTC

When compiling an app in Powerbuilder2019R2 and running it on windows2003, it gives me the message:
"Cannot find entry point for isProcessDPIAware procedure in dynamic link library USER32.dll." From what I see this function does not exist in windows2003. Does anyone know how to make an application run when I don't try to run it ??

Accepted Answer
John Fauss Accepted Answer Pending Moderation
  1. Sunday, 14 June 2020 23:20 PM UTC
  2. PowerBuilder
  3. # Permalink

This particular Windows API was first available in Vista (client) and Windows Server 2008 (server).

Microsoft has been making a series of changes (improvements?) to Windows over multiple releases to provide applications with the ability to provide an improved user experience when multiple monitors with different resolutions or switching between devices where different display resolutions are involved. There have even been new DPI-related API functions added to Windows 10 since its initial release.

If your app is going to attempt to utilize these new DPI-related API functions, you'll need to determine the minimum O/S requirement. Here is a link to the definitive source for Windows API documentation.


Search for a particular API using the search field on the left side. When you call up the documentation on a particular API function, the minimum O/S requirements are listed at the end of the web page.

Here's the URL for the API function you've asked about:


HTH, John

There are no comments made yet.
Andreas Mykonios Accepted Answer Pending Moderation
  1. Friday, 19 June 2020 11:47 AM UTC
  2. PowerBuilder
  3. # 1

Hi Felix.

Window 2003 is near Windows XP. Support for windows XP / Vista was removed with PB 2017... I believe that by removing support from an os gave Appeon the freedom to use new api available in newer versions.

So, the only way to solve that issue and make your application run in unsupported os, would be to build your application using an older version of PowerBuilder. And this is something that no one would recommend.


There are no comments made yet.
Félix Domínguez Lorenzo Accepted Answer Pending Moderation
  1. Thursday, 18 June 2020 08:41 AM UTC
  2. PowerBuilder
  3. # 2

Thanks for the answers,
I did not implement that function inside my program. Furthermore, I did even a minimal test. Create a project in Powerbuilder 2019R2. When you enter, it shows a "Hello World" messagebox and exits. If I compile the application, I run it and it already shows the error.

I do not know if there is a way to compile an application and do not try to use that function so that it does not give me the error.

There are no comments made yet.
Armeen Mazda @Appeon Accepted Answer Pending Moderation
  1. Sunday, 14 June 2020 15:19 PM UTC
  2. PowerBuilder
  3. # 3

Windows Server 2003 is too old!  Please test on Windows 10 and let us know if you still have the problem.

  1. Félix Domínguez Lorenzo
  2. Thursday, 18 June 2020 08:40 AM UTC

WIndows10 is tested and works correctly. Even more it is tested on windows2008R2 / windows7 and it works.
  1. Helpful
  1. Roland Smith
  2. Thursday, 18 June 2020 13:17 PM UTC
Is the call to isProcessDPIAware in your code or is the PB runtime doing it?
  1. Helpful
  1. Félix Domínguez Lorenzo
  2. Friday, 19 June 2020 08:57 AM UTC
I never use that function, it is the executable that is created with Powerbuilder2019 that must use it. As I commented before, if I create a new project, in the open I put for example a mesagebox of a "hello world" and compile. With that alone the error already occurs. It is as if the executable that is generated internally makes the call, with which I can not remove the usr that function, at least that when compiling exiates some way that it does not make the call to that function or ..
  1. Helpful
There are no comments made yet.
  • Page :
  • 1

There are no replies made for this question yet.
However, you are not allowed to reply to this question.