Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Vérifier si l'application est déjà lancée...

2 réponses
Avatar
Bull
Bonjour,

J'ai une sub que j'appelle au lancement de mon appli pour vérifier si elle
n'est pas déjà lancée :

Public Sub ProcessExist()

Dim Process As New System.Management.ManagementObjectSearcher("SELECT * FROM
Win32_Process")

Dim info As System.Management.ManagementObject

Dim stock As String

Dim vrs As Integer

For Each info In Process.Get

stock = info("Caption").ToString()

If stock = "monAppli.exe" Then

vrs = vrs + 1

If vrs > 1 Then

MessageBox.Show("l'appli est déjà lancée !")

End

End If

End If

Next

End Sub

Jusqu'à présent elle fonctionnait très bien et là un utilisateur sous W98
2nd Edition (je ne sais pas s'il y a un rapport) a une erreur au niveau de
cette sub :

System.Runtime.InteropServices.COMException (0x80040154): COM object with
CLSID {4590F811-1D3A-11D0-891F-00AA004B2E24} is either not valid or not
registered.
at System.Management.ManagementScope.Initialize()
at System.Management.ManagementObjectSearcher.Initialize()
at System.Management.ManagementObjectSearcher.Get()
at MonAppli.Form1.ProcessExist()

Quelqu'un peut-il m'aider ?
Merci d'avance,
Bull

2 réponses

Avatar
Stéphane L.
Bonjour Bull (la société informatique?),

Personnellement je n'utilise que ces lignes, c'est tout.

If
UBound(Diagnostics.Process.GetProcessesByName(Diagnostics.Process.GetCurrentProcess.ProcessName))
> 0 Then

MessageBox.Show("l'appli est déjà lancée !")


End

End If

Cordialement,
Stéphane

"Bull" a écrit dans le message de news:

Bonjour,

J'ai une sub que j'appelle au lancement de mon appli pour vérifier si elle
n'est pas déjà lancée :

Public Sub ProcessExist()

Dim Process As New System.Management.ManagementObjectSearcher("SELECT *
FROM Win32_Process")

Dim info As System.Management.ManagementObject

Dim stock As String

Dim vrs As Integer

For Each info In Process.Get

stock = info("Caption").ToString()

If stock = "monAppli.exe" Then

vrs = vrs + 1

If vrs > 1 Then

MessageBox.Show("l'appli est déjà lancée !")

End

End If

End If

Next

End Sub

Jusqu'à présent elle fonctionnait très bien et là un utilisateur sous W98
2nd Edition (je ne sais pas s'il y a un rapport) a une erreur au niveau de
cette sub :

System.Runtime.InteropServices.COMException (0x80040154): COM object with
CLSID {4590F811-1D3A-11D0-891F-00AA004B2E24} is either not valid or not
registered.
at System.Management.ManagementScope.Initialize()
at System.Management.ManagementObjectSearcher.Initialize()
at System.Management.ManagementObjectSearcher.Get()
at MonAppli.Form1.ProcessExist()

Quelqu'un peut-il m'aider ?
Merci d'avance,
Bull




Avatar
Bull
LOL non pas la socité informatique :)

Merci bcp, ça marche parfaitement avec ton code.

Cordialement,
Bull


"Stéphane L." a écrit dans le message de news:

Bonjour Bull (la société informatique?),

Personnellement je n'utilise que ces lignes, c'est tout.

If
UBound(Diagnostics.Process.GetProcessesByName(Diagnostics.Process.GetCurrentProcess.ProcessName))
> 0 Then

MessageBox.Show("l'appli est déjà lancée !")


End

End If

Cordialement,
Stéphane

"Bull" a écrit dans le message de news:

Bonjour,

J'ai une sub que j'appelle au lancement de mon appli pour vérifier si
elle n'est pas déjà lancée :

Public Sub ProcessExist()

Dim Process As New System.Management.ManagementObjectSearcher("SELECT *
FROM Win32_Process")

Dim info As System.Management.ManagementObject

Dim stock As String

Dim vrs As Integer

For Each info In Process.Get

stock = info("Caption").ToString()

If stock = "monAppli.exe" Then

vrs = vrs + 1

If vrs > 1 Then

MessageBox.Show("l'appli est déjà lancée !")

End

End If

End If

Next

End Sub

Jusqu'à présent elle fonctionnait très bien et là un utilisateur sous W98
2nd Edition (je ne sais pas s'il y a un rapport) a une erreur au niveau
de cette sub :

System.Runtime.InteropServices.COMException (0x80040154): COM object with
CLSID {4590F811-1D3A-11D0-891F-00AA004B2E24} is either not valid or not
registered.
at System.Management.ManagementScope.Initialize()
at System.Management.ManagementObjectSearcher.Initialize()
at System.Management.ManagementObjectSearcher.Get()
at MonAppli.Form1.ProcessExist()

Quelqu'un peut-il m'aider ?
Merci d'avance,
Bull