Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [VB.NET] Aprire e fare focus su un altro programma

    Salve a tutti, come scritto nel titolo sto cercando tramite un'applicazione Windows Form scritta in VB.NET di aprire la finestra di un programma esterno (già in esecuzione) per poi fare un SendKeys.
    Il sendkeys riesco a farlo, il problema sta nell'aprire la finestra del mio processo esterno (per esempio il blocco note) e fare focus su di essa in modo che il SendKeys non vada perso.

    Cercando avevo trovato un'altra discussione del genere in cui si consigliava di usare:
    codice:
    Private Declare Function ShowWindow Lib "user32" (ByVal hWnd As Integer, ByVal nCmdShow As Integer) As Integer
    Purtroppo non ho la minima idea di cosa passargli come parametro ne di come utilizzarla, anche perchè (penso l'abbiate capito) non conosco quasi per niente le API.

    Se poteste aiutarmi sareste gentilissimi

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Devi usare le funzioni API
    - FindWindow() per recuperare l'HWnd della finestra,
    - poi SetForegroundWindow() per metterla in primo piano

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Aggiungo a quanto detto da gibra (dato che penso sarà il tuo prossimo post) che ci sono tanti esempi su internet a cui potrai dare un'occhiata ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Grazie a tutti, ci sono riuscito con questo codice:
    codice:
    Public Class Form1 
    Declare Auto Function FindWindow Lib "user32.dll" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long 
    Private Declare Function SetForegroundWindow Lib "user32" (ByVal handle As IntPtr) As Integer 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     Dim HWND As IntPtr HWND = FindWindow(Nothing, "nomefinestra") 
    SetForegroundWindow(HWND) 
    End Sub 
    End Class
    Ero anche riuscito a fare aprire la finestra quando era minimizzata ma poi è arrivata mia mamma che ha inciampato nella spina e mi ha spento il pc, ed ora non ho più idea di come avevo fatto (avevo trovato lo spezzone di codice online) non è che potreste dirmi come si fa o dirmi cosa cercare?

    Grazie anticipatamente, ora come ora insulterei mia mamma dalla rabbia.

  5. #5

  6. #6
    Grazie mille gentilissimo mi hai salvato

    Per me puoi chiudere

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.