Jump to content

Recommended Posts

Posted

boas noits

como faco isto?

ver se uma janela está aberta (ver se o programa esta a correr) se sim nao faz nd, se nao, abre o programa. eu sei abrir o programa, n sei eh ver se esta aberto.

obgdo desde ja.

Melhores cumprimentos,João Lopes***Esta mensagem foi escrita ao abrigo do novo Acordo Ortográfico***

Posted

Boas.

   Dim procs As Process()
        Dim proc As Process
        Dim i As Integer = 0

        ' get an array of all processes named "app" on server "serverName"



        procs = Process.GetProcessesByName("sigdin 2003")

        ' go through each proc named "app" and wait for it to exit
        For Each proc In procs

            i += 1
            If i > 1 Then

                MessageBox.Show("O SIGDIN já se encontrar a correr." & vbCrLf & "E aconcelhavel que não use dois ao mesmo tempo", "SIGDIN", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1)
                proc.Kill()
                Application.ExitThread()
                Application.Exit()
            End If
        Next

"The Dark Side Clouds Everthing. Impossible To See The Future Is."My rig: Intel Core 2 Quad Q9450 | abit IP35P | 4G Kingston 800 Mhz | XFX GeForce 9800 GX2 1G ddr3 | 2X WD5000AAJS 500Gb Sata 2 | PSU 600W || Caixa El-Diablo | Creative XMod

Posted

O meu prob é um pouco mais complicado do k isto, pk o prgrama abre duas janelas, e ambas têm o nome parecido...

O stress eh k o nome do programa eh "c:\pasta\bot\card.exe"

e o nome da outra é "c:\pasta\bot\cardgli.exe", pensei em criar um batch e definir o titulo, mas nao sei pk o vb nao me ker abrir o batch...

Então adiei um pouco este projecto...

Olha, já agora vê se me consegues ajudar no outro tópico de criar imagens, tá a dar cabo de mim, não saio da sepa torta...

Melhores cumprimentos,João Lopes***Esta mensagem foi escrita ao abrigo do novo Acordo Ortográfico***

Posted

Obrigado, vou postar aki o source k está lá no site... Está muito verde pra eu perceber  😁 (ok piada fraca)

'DLL Function Calls

Private Declare Function CreateMutex Lib "kernel32" Alias "CreateMutexA" (ByVal lpMutexAttributes As Long, ByVal bInitialOwner As Long, ByVal lpName As String) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

'variable constant to match if the mutex exists
Private Const ERROR_ALREADY_EXISTS = 183&

'Application Variable Declarations
Public Const AppVer = "MyApp v1.1"
Dim mutexvalue As Long

'*the following code would go in the starting function of your application
'either the main() or form_load() depending on how your application works

'Create an individual mutex value for the application
mutexvalue = CreateMutex(ByVal 0&, 1, AppVer)

'If an error occured creating the mutex, that means it
'must have already existed, therefore your application
'is already running
If (Err.LastDllError = ERROR_ALREADY_EXISTS) Then

'Inform the user of running the same app twice
MsgBox "The application is already running."

'Terminate the application via the reference to it, its hObject value
CloseHandle mutexvalue
End If 

*Editado*

Fui só eu k não percebi nada disto?  :nono1: ?

*editado*

E eu só reparei agora k editas-te, deixo aki o novo code pra ver se pesco mais alguma coisa. (corrijo, pra ver se pesco alguma coisa  :wallbash: )

'DECLARATIONS
Imports System.Threading

'Form level declaration
Dim objMutex As Mutex

'CODE

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        objMutex = New Mutex(False, "SINGLE_INSTANCE_APP_MUTEX")
        If objMutex.WaitOne(0, False) = False Then
            objMutex.Close()
            objMutex = Nothing
            MessageBox.Show("Instance already running")
            End
        End If
        'if you get to this point it's frist instance
           'continue with app

     
    End Sub

Melhores cumprimentos,João Lopes***Esta mensagem foi escrita ao abrigo do novo Acordo Ortográfico***

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.