Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - passare a un altra finestra
Forum - C# / VB.NET - passare a un altra finestra

Avatar
gianluca (Normal User)
Pro


Messaggi: 103
Iscritto: 23/06/2008

Segnala al moderatore
Postato alle 4:08
Lunedì, 15/09/2008
Questo topic è stato chiuso dal moderatore

ciao! stavo provando a fare 1 programma che interagisse cn un .exe ke ho trovato in internet. il programma ke ho trovato, mi scasiona il pc e mi trova dei file dannosi, il problema è ke nn li elimina, ma se si vuole, si puo salvare il nome del file dannoso in un file .TXT... io volevo fare un programma in VB.NET ke interagisse cn "L'antivirus" e salvasse automaticamente i TXT... per salvare i txt posso farlo cn il mouse andando sulla casellina per salvare, oppure posso usare le sequenze di tasti... il problema è questo,facendo partire il mio programma questo resta TOPMOST anke quando faccio "digitare" la sequenza di tasti, percio è come se li digitasse per lui... come faccio a far andare in primo piano la finestra dell'antivirus? Grazie 1000

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 15:23
Lunedì, 15/09/2008
Ho due soluzioni da proporti.

1 - Enumera tutti i processi attivi. Trova quello che ti serve e ottieni l'handle della finestra con la proprietà Process.MainWindowHandle, quindi usa la funzione SetFocus di user32.dll per impostare il focus su quella finestra.
http://www.xmlauthor.com/help/Extensions/WindowsAPI/SetFoc ...

2 - Simula un click sulla finestra per ottenere automaticamente il focus.

PM
Avatar
Ultra Phonic 2 (Ex-Member)
Pro


Messaggi: 181
Iscritto: 15/09/2008

Segnala al moderatore
Postato alle 15:29
Lunedì, 15/09/2008
io in vb.net so ancora poco, ma nn penso che ci riuscirai...
il programma che hai fatto tu, dovrebbe essere unico pezzo con il prog che ti salva i txt,
però per fare quello che vuoi tu, puoi usare un programma che si chiama adwanced windows care personal, scaricabile dal sito
http://www.download.com/Advanced-WindowsCare-Personal/3000 ...

cliccando su download

ciao:D:k:

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 15:34
Lunedì, 15/09/2008
Ultra Phonic, hai detto bene: tu sai ancora poco. Non ti sembra di essere un po' impertinente a dire che non ci riuscirà? Hai almeno calcolato tutte le possibilità prima di scrivere quel messaggio? Evidentemente no.

PM
Avatar
gianluca (Normal User)
Pro


Messaggi: 103
Iscritto: 23/06/2008

Segnala al moderatore
Postato alle 15:39
Lunedì, 15/09/2008
c'è l'ho fatta in un altro modo xo sn sicuro ke cm dici tu di ottenere l'handle del processo, sia molto piu sicuro... mi faresti un esempio o sito dv posso andare a nasare? grazie 1000

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 15:53
Lunedì, 15/09/2008
Ad esempio così:
Codice sorgente - presumibilmente VB.NET

  1. Declare Function SetFocus Lib "user32" Alias "SetFocus" (ByVal hWnd As IntPtr) As IntPtr
  2.  
  3. Dim P() As Process = Process.GetProcessesByName("nomeprogramma")
  4.  
  5. If P.Length = 0 Then
  6.   'L'antivirus non è attivo...
  7. Else
  8.   Dim Antivirus As Process = P(0)
  9.   Dim Handle As IntPtr = Antivirus.MainWindowhandle
  10.   SetFocus(Handle)
  11. End If


PM
Avatar
gianluca (Normal User)
Pro


Messaggi: 103
Iscritto: 23/06/2008

Segnala al moderatore
Postato alle 16:00
Lunedì, 15/09/2008
madonna totem 6 fantastico! grazie di tutto

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 16:39
Martedì, 16/09/2008
Prego. Posso chiudere?

PM
Avatar
gianluca (Normal User)
Pro


Messaggi: 103
Iscritto: 23/06/2008

Segnala al moderatore
Postato alle 18:06
Martedì, 16/09/2008
sisi, fai pure

PM