2 Stimmen

Wie kann ich einer bestehenden Anwendung ein benutzerdefiniertes Menüelement hinzufügen?

C#.

Exemple : alt text
(Quelle: <a href="http://www.brianapps.net/sysmenuint.png" rel="nofollow noreferrer">brianapps.net </a>)

Ich arbeite an einer Bildschirmaufnahme-Software und möchte die Aufnahme bestimmter Fenster aktivieren.

3voto

OlimilOops Punkte 6657
  mnuHandle = GetSystemMenu(hwnd, false)

  //add a line to the end
  AppendMenu(mnuHandle, MF_SEPARATOR, 0, "")

  //2 add a command ID = 200
  AppendMenu(mnuHandle, MF_STRING, 0x200, "Command &1")
  AppendMenu(mnuHandle, MF_STRING, 0x201, "Command &2")

  //insert a new item to the 2. position
  InsertMenu(mnuHandle, 2, MF_BYPOSITION, 0x202, "Command &3")

  //remove a standard item 
  RemoveMenu(mnuHandle, 0, MF_BYPOSITION)

Es geht nicht darum, die Menüpunkte im Systemmenü einer völlig anderen Anwendung zu erstellen... die Frage ist eher, wie man die kommenden Systemmenü-Ereignisse einbinden kann.

Wenn Sie die Größe eines beliebigen Fensters ändern wollen, holen Sie einfach das Fensterhandle des Programms (wie würden Sie das tun?) und rufen SetWindowPos http://msdn.microsoft.com/en-us/library/ms633545(v=VS.85).aspx

1voto

SLaks Punkte 832502

Sie können die GetSystemMenu API-Methode, um ein Handle auf das Systemmenü eines bestehenden Fensters zu erhalten.

Sie können dann aufrufen InsertMenuItem um dem Menü einen Eintrag hinzuzufügen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X