How to get the status from another process window? (ImmGetOpenStatus)

Copper Contributor
Hello,
I'm developing a desk software. get some questions, VC++ code, Windows10 Pro X64 20H2, 
 
Part 1 questions:
follow line can show availablenetworks:
ShellExecute(NULL, L"open", L"explorer.exe", L"ms-availablenetworks: ", NULL, SW_SHOWNORMAL);
exclude  SendMessage/PostMessage  WM_LBUTTONDOWN and keybd_event(VK_xxxx 0, 0, 0);
How to show the calendar (click the clock in the lower right corner)?
How to show the Start and it's right button menu?
and how to judge that it is showing?
 image.png     image (1).png     image (2).png
 

 

Part 2 questions:
Only Microsoft Pinyin input method,
i want get the input method status and judge whether it is Chinese or English (shift switch),
 
the follow code only can get self process status:
//bool bn = ::AttachThreadInput(::GetCurrentThreadId(), ::GetWindowThreadProcessId(hwnd, NULL), TRUE);//No effect
HIMC himc = ImmGetContext(hwnd);
//::AttachThreadInput(::GetCurrentThreadId(), ::GetWindowThreadProcessId(hwnd, NULL), false);
bool re = ImmGetOpenStatus(himc); //
 
how to get the status from another app process window?
 
 
thanks
Best regards
0 Replies