Ejecuacion de un archivo

Iniciado por mariocastillo24, 14 Marzo 2006, 18:47 PM

0 Miembros y 1 Visitante están viendo este tema.

mariocastillo24

Hola que tal, que funcion puedo utilizar para saber en que directorio se esta ejecutando mi archivo .exe;

Supongamos que yo creo mi archivo .exe y lo guardo en C:\Archivos de programa como puedo ponerle al programa pra saber cual es el directorio donde esta.


Y tambien si se puede como puedo hacer que un formulario este siempre alfrente de cualquier cosa.

Gracias

moe88

Private Function buscapath()
ChDir App.Path
Directorio = App.Path
If Len(Directorio) > 3 Then
    Directorio = Directorio & "\"
End If
End Function


En cuanto a tu segunda pregunta, no te entiendo bien :(

Hendrix

pones un timer kon interval 1 y dentro de este pones esto:

Form1.SetFocus

Y el programa siempre aparecera delante de kualkier kosa....

Salu2

Hendrix

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

xXnewbieXx

Una manera muy muy sencilla de saber desde q donde se ejecuta tu programa sería así:

Dim Directorio as String
Directorio = App.Path & "\" & App.EXEName

Saludos!
Hardware: Lo que golpeas. Software: La causa

Error 943 - El sistema esta funcionando demasiado bien, se caerá para seguir con la rutina...

NYlOn

Para que tu aplicacion este adelante de todo, o viceversa:

En un modulo pones el siguiente

Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
Const SWP_NOSIZE = &H1
Const SWP_NOMOVE = &H2
Const SWP_NOACTIVATE = &H10
Const SWP_SHOWWINDOW = &H40
Private Declare Sub SetWindowPos Lib "User32" (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)

Sub TopMost(frm As Form, Var As Boolean)
If Var = True Then
    SetWindowPos frm.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
Else
    SetWindowPos frm.hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
End If
End Sub


Y luego

TopMost Form1, True 'para que este adelante de todo
TopMost Form1, False 'para que sea una ventana como las demas


Saludos.-

xXnewbieXx

 :huh:NYlOn no entiendo p:huh:
Hardware: Lo que golpeas. Software: La causa

Error 943 - El sistema esta funcionando demasiado bien, se caerá para seguir con la rutina...

xXnewbieXx

 :( :( :(uy perdon le di a enviar sin acabar d escribir lo k keria...m preguntaba pq tanto codigo NYlOn... :huh:
acaso es distinto de lo k dice Punk-rock ?? pq yo siempre he usado Form1.SetFocus en un timer. salu2
Hardware: Lo que golpeas. Software: La causa

Error 943 - El sistema esta funcionando demasiado bien, se caerá para seguir con la rutina...

NYlOn

Citarpq tanto codigo NYlOn...
acaso es distinto de lo k dice Punk-rock ??

Porque lo que dijo Punk-rock no funciona :S
Si abris otro programa y lo pones arriva te vas a dar cuenta de que no arriva de todo...

Si te sirve lo del SetFocus mejor, menos codigo, pero revisalo bien...

Saludos.-

Hendrix

Tienes razon Nylon, poste el kode sin probarlo....

El kode de Nylon funciona perfectamente ;) ;)

Salu2

Hendrix

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián