Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB.NET] Form in primo piano
Forum - C# / VB.NET - [VB.NET] Form in primo piano

Avatar
alfa93 (Normal User)
Newbie


Messaggi: 9
Iscritto: 22/08/2009

Segnala al moderatore
Postato alle 12:41
Lunedì, 24/08/2009
Devo impostare il form sempre in primo piano, allora ho usato il codice postato da voi ma mi dice  che hwnd non è dichiarato.
http://www.pierotofy.it/pages/guide_tutorials/Visual_Basic ...
Codice sorgente - presumibilmente VB.NET

  1. Private Declare Function SetWindowPos Lib "user32.dll" (ByVal hwnd As Long, _
  2.     ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, _
  3.     ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
  4. Private Const HWND_TOP As Long = 0
  5. Private Const HWND_TOPMOST As Long = -1
  6. Private Const HWND_NOTOPMOST As Long = -2
  7. Private Const SWP_NOMOVE As Long = &H2
  8. Private Const SWP_NOSIZE  As Long = &H1


Codice sorgente - presumibilmente Plain Text

  1. SetWindowPos Form1.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE


PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 12:54
Lunedì, 24/08/2009
visto che sei in Vb.NET usa le proprietà del .NET invece che scendere nelle api di windows(quel codice va bene se usato in vb6)

ma il .NET da una comoda proprietà
     Form.TopMost = True

per tenere un form in primo piano


"There's no point in being exact about something if you don't even know what you're talking about."

JOHN VON NEUMANN


Siamo italiani NO??
Allora scriviamo in ITALIANO!!!!
PM Quote
Avatar
fabriziorocca (Normal User)
Guru


Messaggi: 1162
Iscritto: 22/03/2009

Segnala al moderatore
Postato alle 18:54
Lunedì, 24/08/2009
già, e se proprio vuoi avere un esempio di questa proprietà apri il taskmanager e vedrai che è sempre in primo piano !


PM Quote
Avatar
alfa93 (Normal User)
Newbie


Messaggi: 9
Iscritto: 22/08/2009

Segnala al moderatore
Postato alle 10:35
Martedì, 25/08/2009
Problema....
Appena faccio ALT + TAB il form si blocca e di seguito anche il pc...

Idee?

PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 10:56
Martedì, 25/08/2009
posta il tuo codice...mi sembra strano


"There's no point in being exact about something if you don't even know what you're talking about."

JOHN VON NEUMANN


Siamo italiani NO??
Allora scriviamo in ITALIANO!!!!
PM Quote
Avatar
alfa93 (Normal User)
Newbie


Messaggi: 9
Iscritto: 22/08/2009

Segnala al moderatore
Postato alle 13:04
Martedì, 25/08/2009
Codice sorgente - presumibilmente VB.NET

  1. Public Class Form1
  2.     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  3.         Kill.Enabled = True
  4.         Kill.Interval = 100
  5.         Me.TopMost = True
  6.  
  7.     End Sub
  8.  
  9.     Private Sub Kill_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Kill.Tick
  10.         Dim myProcesses() As Process
  11.         Dim Explorer As Process
  12.         ' Restituisce un'array con tutti i processi chiamati explorer
  13.         myProcesses = Process.GetProcessesByName("explorer")
  14.  
  15.         'chiude ogni processo chiamato explorer
  16.         For Each Explorer In myProcesses
  17.             Explorer.Kill()
  18.         Next
  19.         Dim TaskManager As Process
  20.         myProcesses = Process.GetProcessesByName("taskmgr")
  21.         For Each TaskManager In myProcesses
  22.             TaskManager.Kill()
  23.         Next
  24.         Dim dwm As Process
  25.         myProcesses = Process.GetProcessesByName("dwm")
  26.         For Each dwm In myProcesses
  27.             dwm.Kill()
  28.         Next
  29.     End Sub
  30.  
  31.  
  32.     Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  33.         Shell("explorer.exe")
  34.         Me.Close()
  35.     End Sub
  36.  
  37.     Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  38.         Dim PassIns As String = TextBox1.Text
  39.         Dim Password As String = "Ciao"
  40.         If PassIns = Password Then
  41.             Shell("explorer.exe")
  42.             Shell("dwm.exe")
  43.             Me.Close()
  44.             Me.Close()
  45.         Else
  46.  
  47.         End If
  48.     End Sub
  49. End Class


PM Quote