|
メニューのチェックマークが入ってるかどうか調べる作戦があります。
loaddll "tkinfo.dll";
#check = dllfunc("GetCurrentMenuCheckState", 40051);
message str(#check);
で一応分かるようですが、ただ、メニューバー非表示にしてたりダークモードだと
ダメです。(エラーになって結果が-1になる)
メニューバー非表示またはダークモードでもちゃんと動くようには、次のβ版で対
応しようと思います。
他の作戦としては・・・かなり無理矢理ですが、メール内容枠のウィンドウの高さ
と本体ウィンドウの中身の高さを比較して判定するロジックも可能です。サンプルマ
クロ以下のようになります。
loaddll "tkinfo.dll";
#main = dllfunc("MainWnd");
#cyMain = dllfunc("Bypass_GetClientSize", #main) / 0x10000;
//message str(#cyMain);
#prev = 0;
while(1) {
#view = dllfunc("Bypass_FindWindowEx", #main, #prev, "#32770", 0);
if( #view == 0 ) {
message "ウィンドウ見つからず";
endmacro;
}
#hidemaru = dllfunc("Bypass_FindWindowEx", #view, 0, "Hidemaru32Clas
s", 0);
if( #hidemaru != 0 ) {
break;
}
#prev = #view;
}
#cyView = dllfunc("Bypass_GetWindowSize", #view) / 0x10000;
if( #cyView > #cyMain * 8 / 10 ) {
message "メール内容枠最大化";
} else {
message "メール内容枠最大化してない";
}
|
|