「アイコンを等間隔に整列」かどうかは、他にも方法があるのかもしれませんが、次のようなコードで取得可能です。
=======================================================
#include <windows.h>
#include <commctrl.h>
int _tmain(int argc, _TCHAR* argv[])
{
HWND hwndTop = FindWindow( _T("Progman"), _T("Program Manager") );
if( hwndTop ) {
HWND hwndChild = GetWindow( hwndTop, GW_CHILD );
if( hwndChild ) {
HWND hwndSysListView = GetWindow( hwndChild, GW_CHILD );
if( hwndSysListView ) {
DWORD dwExStyle = ( DWORD )SendMessage( hwndSysListView, LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0 );
if( dwExStyle & LVS_EX_SNAPTOGRID ) {
MessageBox( NULL, _T("等間隔整列です。"), _T("GetSnapToGrid" ), MB_ICONINFORMATION );
} else {
MessageBox( NULL, _T("等間隔整列ではありません。"), _T("GetSnapToGrid" ), MB_ICONINFORMATION );
}
}
}
}
return 0;
}
=======================================================
( インデントのため、全角空白を使用しています。)
設定するには、LVM_SETEXTENDEDLISTVIEWSTYLE を使用します。
お礼
tsukasa-12r様 ご回答ありがとうございました。 おかげさまで、機能が実現できました。 ありがとうございました。