Hidemaru_CheckQueueStatus(Ver9.35対応版)
目次−
DLL側から秀丸エディタの関数呼び出し−
Hidemaru_CheckQueueStatus
Hidemaru_CheckQueueStatus関数
BOOL WINAPI Hidemaru_CheckQueueStatus( void );
キー入力があるなどの理由で処理を中断するべきかを返します。
例:
#include <windows.h>
extern "C" __declspec( dllexport )
INT_PTR _cdecl DllFuncTest( INT_PTR nHwnd ) {
HINSTANCE hinstExe = GetModuleHandle( NULL );
BOOL (WINAPI* pfnHidemaru_CheckQueueStatus)( void );
(FARPROC&)pfnHidemaru_CheckQueueStatus = GetProcAddress( hinstExe, "Hidemaru_CheckQueueStatus" );
if( pfnHidemaru_CheckQueueStatus ) {
if( MessageBoxW( (HWND)nHwnd, L"画面左上に中断状態を表示します", L"Hidemaru_CheckQueueStatus", MB_OKCANCEL ) == IDOK ) {
DWORD dwTick = GetTickCount();
HDC hdc = GetDC(0);
BOOL fStop = FALSE;
WCHAR* pwsz = L"○5秒待機中 ";
TextOutW( hdc, 0, 0, pwsz, (int)wcslen( pwsz ) );
while( GetTickCount() < (dwTick + 5000) ) {
fStop = pfnHidemaru_CheckQueueStatus();
if( fStop ) {
break;
}
Sleep( 30 );
}
if( fStop ) {
pwsz = L"●中断しました ";
} else {
pwsz = L"○中断せず終了 ";
}
TextOutW( hdc, 0, 0, pwsz, (int)wcslen( pwsz ) );
ReleaseDC(0,hdc);
}
}
return 0;
}