- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Hi Folks, this looks a simple challenge, but can't get it to work. Here is my effort for 64-bit IFORT, but it doesn't work. Any suggestions?
INTERFACE
FUNCTION MessageBoxTimeOut( &
hWnd, &
lpText, &
lpCaption, &
uType, &
wLanguageId, &
dwMilliseconds )
use ifwinty
integer(SINT) :: MessageBoxTimeOut ! int
!DEC$ ATTRIBUTES DEFAULT, STDCALL, DECORATE, ALIAS:'MessageBoxTimeOutA' :: MessageBoxTimeOut
integer(8) hWnd ! HWND hWnd
!DEC$ ATTRIBUTES REFERENCE, ALLOW_NULL :: lpText
character*(*) lpText ! LPCSTR lpText
!DEC$ ATTRIBUTES REFERENCE, ALLOW_NULL :: lpCaption
character*(*) lpCaption ! LPCSTR lpCaption
integer(UINT) uType ! UINT uType
INTEGER*2 wLanguageId
INTEGER*4 dwMilliseconds
END FUNCTION
END INTERFACE
링크가 복사됨
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Hello
This is an undocumented function.
It is identical to the MessageBox API definition except it has two more parameters, wLanguageID and dmMilliseconds.
So copy the MessageBox function interface and add the two extra parameters.
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
The function name is MessageBoxTimeoutA (lower case o)
interface
function MessageBoxTimeout(hWnd,lpText,lpCaption,uType,wLanguageId,dwMilliseconds)
use ifwinty
integer(SINT) :: MessageBoxTimeOut
!DEC$ ATTRIBUTES DEFAULT, STDCALL, DECORATE, ALIAS:'MessageBoxTimeoutA' :: MessageBoxTimeout
integer(HANDLE) :: hWnd
!DEC$ ATTRIBUTES REFERENCE, ALLOW_NULL :: lpText
character*(*) :: lpText
!DEC$ ATTRIBUTES REFERENCE, ALLOW_NULL :: lpCaption
character*(*) :: lpCaption
integer(UINT) :: uType
integer(WORD) :: wLanguageId
integer(DWORD) :: dwMilliseconds
end function
end interface