正在調用一個函數,它與發送消息的速度相同,比調用SendMessage()
的速度更快?比SendMessage()更快地調用函數嗎?
例如,在下面的case WM_RBUTTONUP:
代碼,這是更快的,主叫EnableTwoWindows(firstWnd, secondWnd);
或發送SendMessage(hwnd, CUSTOM_MESSAGE_ENABLE_TWO_WINDOWS, 0, 0);
?調用函數與發送消息有什麼優缺點?
void EnableTwoWindows(HWND hwnd1, HWND hwnd2)
{
EnableWindow(hwnd1, TRUE);
EnableWindow(hwnd2, TRUE);
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
static HWND firstWnd, secondWnd;
switch(msg)
{
case CUSTOM_MESSAGE_ENABLE_TWO_WINDOWS:
EnableWindow(firstWnd, TRUE);
EnableWindow(secondWnd, TRUE);
break;
case WM_RBUTTONUP:
//EnableTwoWindows(firstWnd, secondWnd); //Is calling this function faster? or
//SendMessage(hwnd, CUSTOM_MESSAGE_ENABLE_TWO_WINDOWS, 0, 0); //Is sending message faster?
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, msg, wParam, lParam);
}
return 0;
}
調用一個函數需要的代碼少於調用多個函數。我不明白你想問的問題。 – IInspectable
@IInspectable我想知道哪個更快執行 – Mike32ab
更多的代碼需要更多的時間來執行。你的問題與問道的道德等價:*「10比1大嗎?」*你已經知道答案。 – IInspectable