Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - NYlOn

#171
Hay que tener cuidado al usar app.path & "\" & app.exename & ".exe" ya que si el directorio donde se ejcuta el programa es el directorio raiz te devuelve la ruta con la barra invertida al final, ej: "C:\"; "E:\"; etc...
Por lo tanto te quedaria C:\\Hola.txt lo que podria generar un error.
Para solucionar esto podrias usar un IF:

If Right(App.Path, 1) = "\" then
     MsgBox app.path & app.exename & ".exe"
Else
    MsgBox app.path & "\" & app.exename & ".exe"
End If


Saludos.-
#172
Programación Visual Basic / Re: Guardar
8 Mayo 2006, 21:30 PM
El error en el codigo de ROBOKOP es que no podes modificar el ejecutable si esta abierto, por lo tanto no puede escribirse a sí mismo. Lo que si puede hacer es leerse. Si estas interesado en esta opcion, lo q podes hacer es escribir en otro ejecutable que no este abierto, pero en fin, seria lo mismo que usar un txt.
#173
Programación Visual Basic / Re: Guardar
7 Mayo 2006, 03:07 AM
No es posible hacer lo que pedis. Ya que todo lo que escribis en ese richtextbox se guarda en la memoria dinamica (RAM) por lo tanto todas las variables del programa desaparecen cuando lo cerras. Yo te recomendaria guardar el texto en un archivo txt y despues abrilo cuando se ejecuta el programa.

Si explicas mejor lo que queres hacer por ahi hay otras opciones que puedan resultarte mas utiles.

Un saludo.-
#174
Espero que esto te sirva:

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = 1 Then
        Picture1.Move X, Y 'mover el control Picture1 (X e Y indican la posicion del mouse en el Form)

    End If
End Sub
#175
Lo unico que copias para usar APIs son las declaraciones, constantes y tipos.
Por ejemplo, una declaracion seria:

Private Declare Function GetCursorPos Lib "user32.dll" (ByRef lpPoint As POINTAPI) As Long


Un tipo seria:

Private Type POINTAPI
x As Long
y As Long
End Type


Y una constante es algo asi:

Private Const HKEY_LOCAL_MACHINE As Long = &H80000002


Bueno, te recomiendo que te leas un buen manual sobre APIs ya que son verdaderamente utiles para interactuar con la PC y hacer demas cosas...

Ah y respecto a la primera pregunta, yo te recomiendo el API-Guide ya que trae ejemplos de la mayoria de las APIs...
#176
Que tipo de juegos? Juegos enserio, largos y elaborados... o juegos simples tipo Arkanoid, Snake ??


Si queres te puedo dejar un code de un snake que hice hace algun tiempo....
#177
y cmd vendria a ser....  :huh:
#178

Private Declare Function GetForegroundWindow Lib "user32.dll" () As Long
Private Declare Function GetWindowText Lib "user32.dll" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long

Private sub Command1_Click ()
    Dim Ret As Long
    Dim Titulo As String
    Titulo = String(100, Chr(0))
    Ret = GetForegroundWindow
    GetWindowText Ret, Titulo, 100
    MsgBox Titulo
end sub


Saludos.-
#179
Suponiendo que la ventana que queremos cambiar se llama MSN Messenger (el msn...) podrias usar este

Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetWindowText Lib "user32.dll" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long

Private Sub Command1_Click()
    Dim Ret As Long
    Ret = FindWindow(vbNullString, "MSN Messenger")
    SetWindowText Ret, "Prueba"
End Sub


Espero que te sirva, saludos.

(esta provado).-
#180
Mira lo que podrias hacer seria guardar en el codigo del segundo ejecutable la variable que vos queres, entonces cuando este se habre se lee asi mismo y saca el valor de esa variable.
Espero que te sirva el siguiente code (no esta provado)

ESCRIBIR LA VARIABLE

Dim i as String * 10 'esto hace que la variable siempre contenga 10 caracteres
i = "Hola"

Open "ElOtroEjecutable.exe" for binary as #1
Put #1, LOF(1) + 1, i
Close #1

LEER LA VARIABLE

Dim i as string * 10
Open app.path & "\" & app.exename & ".exe" for binary as #2
Get #2, LOF(2) - 9, i
Close #2
MsgBox i


Saludos.-