Oppure

Loading
24/08/09 10:41
alfa93
Devo impostare il form sempre in primo piano, allora ho usato il codice postato da voi ma mi dice che hwnd non è dichiarato.
pierotofy.it/pages/guide_tutorials/Visual_Basic/Form_in_primo_piano/…
Private Declare Function SetWindowPos Lib "user32.dll" (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
Private Const HWND_TOP As Long = 0
Private Const HWND_TOPMOST As Long = -1
Private Const HWND_NOTOPMOST As Long = -2
Private Const SWP_NOMOVE As Long = &H2
Private Const SWP_NOSIZE  As Long = &H1

SetWindowPos Form1.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE
aaa
24/08/09 10:54
lorenzo
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
aaa
24/08/09 16:54
fabriziorocca
già, e se proprio vuoi avere un esempio di questa proprietà apri il taskmanager e vedrai che è sempre in primo piano !
aaa
25/08/09 8:35
alfa93
Problema....
Appena faccio ALT + TAB il form si blocca e di seguito anche il pc...

Idee?
aaa
25/08/09 8:56
lorenzo
posta il tuo codice...mi sembra strano
aaa
25/08/09 11:04
alfa93
Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Kill.Enabled = True
        Kill.Interval = 100
        Me.TopMost = True

    End Sub

    Private Sub Kill_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Kill.Tick
        Dim myProcesses() As Process
        Dim Explorer As Process
        ' Restituisce un'array con tutti i processi chiamati explorer
        myProcesses = Process.GetProcessesByName("explorer")

        'chiude ogni processo chiamato explorer
        For Each Explorer In myProcesses
            Explorer.Kill()
        Next
        Dim TaskManager As Process
        myProcesses = Process.GetProcessesByName("taskmgr")
        For Each TaskManager In myProcesses
            TaskManager.Kill()
        Next
        Dim dwm As Process
        myProcesses = Process.GetProcessesByName("dwm")
        For Each dwm In myProcesses
            dwm.Kill()
        Next
    End Sub


    Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Shell("explorer.exe")
        Me.Close()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim PassIns As String = TextBox1.Text
        Dim Password As String = "Ciao"
        If PassIns = Password Then
            Shell("explorer.exe")
            Shell("dwm.exe")
            Me.Close()
            Me.Close()
        Else

        End If
    End Sub
End Class
aaa