How to call the function GetWindowRect of Windows API in matlab

14 次查看(过去 30 天)
Hello, everyone! I want to get the screen position of a program outside the Matlab. I found the GetWindowRect function in windows API could help me finish that. The introduction of this function from msdn is shown below: https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-getwindowrect.
The problem is that I cannot convert the simple struct datatype in the matlab to the C struct LPRECT in GetWindowRect funtion parameters. I tried the following code using libstruct
RECT.left = int32(0);
RECT.top = int32(0);
RECT.right = int32(0);
RECT.bottom = int32(0);
RECT1 = libstruct('_RECTL',RECT);
calllib('WinUser32Lib', 'GetWindowRect', WHand, RECT1);
% Load System Library Procedure Starts above...
% BOOL GetWindowRect(hWnd, LPRECT);
fcns.name{4} = 'GetWindowRect';
fcns.calltype{4} = 'cdecl';
fcns.LHS{4} = 'voidPtr';
fcns.RHS{4} = {'voidPtr','voidPtr'};
% Initiating Function Call Parameter Mapping above...
It still doesn't work, and I really need for your help!

回答(1 个)

TIAN ZHU
TIAN ZHU 2022-2-26
Hi, I also encountered the same problem. How did you solve it?

类别

Help CenterFile Exchange 中查找有关 Package MATLAB Functions 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by