[VB.NET] Forma nad paskiem aplikacji Windowsa


(adan2013) #1

Chcę stworzyć własne menu Start do mojego windowsa 8.1

Stworzyłem formę przykrywkajacą znaczek systemu w dolnym lewym rogu ekranu i włączyłem jej własność TopMost. Forma pojawia się nad paskiem, ale jeżeli klike na pasek prawym przyciskiem myszy lub zamknę jakie kolwiek okno forma przenosi się pod pasek. Czy da się jeszcze w jakiś sposób zablokować formę na wierzchu?

Z góry dziękuję za pomoc.


(floyd) #2

Jeśli chodzi Ci o to aby forma była zawsze na wierzchu, to zadeklaruj i wykorzystaj funkcję:

Private Declare Function SetWindowPos Lib “user32” (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Przykładów w necie znajdziesz wiele, choćby tutaj:

http://vbcity.com/forums/t/15810.aspx


(adan2013) #3

Znalazłem kilka takich sposobów, ale albo nie dawały one rezultatu lub wyrzucały taki błąd:

 


(floyd) #4

Może zaimportuj najpierw bibliotekę user32.dll w ktorej jest ta funkcja.

http://www.pinvoke.net/default.aspx/user32.setwindowpos