Как я могу использовать GetNextWindow () в C#?

Это пример симметричной частичной ассоциации. Такая связь может быть смоделирована только с помощью подходящего ограничения, как показано в следующей модели:

enter image description here

Прикрепленное явное ограничение / invariant можно избежать, только если бы было определено соответствующее ключевое слово ограничения, которое будет использоваться в стереотипе ассоциации, таком как «симметричный». К сожалению, в UML 2.5 такой стереотип отсутствует, но мы можем добавить его следующим образом:

enter image description here

[У меня есть Прочитайте комментарий "bruno" выше только после отправки моего ответа. «Бруно» правильно указал на необходимость основной части ограничения: self.partner.partner = self.]

7
задан Jon B 28 April 2009 в 14:35
поделиться

2 ответа

GetNextWindow() is actually a macro for GetWindow(), rather than an actual API method. It's for backward compatibility with the Win16 API.

[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr GetWindow(IntPtr hWnd, uint uCmd);

enum GetWindow_Cmd : uint {
    GW_HWNDFIRST = 0,
    GW_HWNDLAST = 1,
    GW_HWNDNEXT = 2,
    GW_HWNDPREV = 3,
    GW_OWNER = 4,
    GW_CHILD = 5,
    GW_ENABLEDPOPUP = 6
}

(From Pinvoke.net)

25
ответ дан 6 December 2019 в 06:38
поделиться

GetNextWindow - это макрос c ++, который вызывает GetWindow, поэтому его нельзя вызвать из .NET. Вместо этого вызовите GetWindow.

Из MSDN :

Использование этой функции аналогично вызову функции GetWindow с установленным флагом GW_HWNDNEXT или GW_HWNDPREV

2
ответ дан 6 December 2019 в 06:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: