我了解$JsonDataAdd = @"
{
"StaffName": "Name3",
"StaffRating": "Rating3"
}
"@
$JsonData = @"
[
{
"Company": [
{
"Finance": [
{
"StaffName": "Name1",
"StaffRating": "Rating1"
}
],
"HR": [
{
"StaffName": "Name1",
"StaffRating": "Rating1"
},
{
"StaffName": "Name2",
"StaffRating": "Rating2"
}
]
}
]
}
]
"@ | ConvertFrom-JSON
($JsonData + ($JsonData.Company.HR += (ConvertFrom-Json $JsonDataAdd)))
Company
-------
{@{Finance=System.Object[]; HR=System.Object[]}}
$JsonData.Company
Finance HR
------- --
{@{StaffName=Name1; StaffRating=Rating1}} {@{StaffName=Name1; StaffRating=Rating1}, @{StaffName=Name2; StaffRating=Rating2}, @{StaffName=Name3; StaffRat...
$JsonData.Company.Finance
StaffName StaffRating
--------- -----------
Name1 Rating1
$JsonData.Company.HR
StaffName StaffRating
--------- -----------
Name1 Rating1
Name2 Rating2
Name3 Rating3
$JsonData.Company | ConvertTo-Json
{
"Finance": [
{
"StaffName": "Name1",
"StaffRating": "Rating1"
}
],
"HR": [
{
"StaffName": "Name1",
"StaffRating": "Rating1"
},
{
"StaffName": "Name2",
"StaffRating": "Rating2"
},
{
"StaffName": "Name3",
"StaffRating": "Rating3"
}
]
}
$JsonData | ConvertTo-Json -Depth 4
{
"Company": [
{
"Finance": [
{
"StaffName": "Name1",
"StaffRating": "Rating1"
}
],
"HR": [
{
"StaffName": "Name1",
"StaffRating": "Rating1"
},
{
"StaffName": "Name2",
"StaffRating": "Rating2"
},
{
"StaffName": "Name3",
"StaffRating": "Rating3"
}
]
}
]
}
和WM_SIZE
,但是当用户使用系统菜单最大化或最小化窗口时,是否会发送消息?
我需要在我的项目中捕获此事件,而我无法在Google上搜索出消息内容。
答案 0 :(得分:3)
WM_SIZE描述:更改大小后发送到窗口。 wParam包含以下原因:
SIZE_MAXIMIZED窗口已最大化。 SIZE_MINIMIZED 窗口已最小化。 SIZE_RESTORED窗口已调整大小, 但SIZE_MINIMIZED或SIZE_MAXIMIZED值均不适用。
简而言之,无论什么原因导致调整大小,都会发送WM_SIZE。单击最大化按钮等于从系统菜单中选择最大化选项。
如果由于某种原因想要区分鼠标单击与菜单选择,则可以使用WM_NCMOUSEMOVE检测鼠标移到右上角。
答案 1 :(得分:1)
WM_SYSCOMMAND
当用户从“窗口”菜单(以前称为系统或控制菜单)中选择命令时,或者当用户选择“最大化”按钮,“最小化”按钮,“恢复”按钮或“关闭”按钮时,窗口就会收到此消息。
wParam
将设置为SC_MINIMIZE
,SC_MAXIMIZE
等。