|
201
|
Programación / Programación Visual Basic / Re: [Ayuda] MkDir
|
en: 8 Septiembre 2010, 21:00 pm
|
¿todos tenemos un disco duro llamado :C\? Gracias.
emm... podrias crearla en X:\windows seria asi: esto te devuelve el "X:\windows" Dim WIN As String WIN = Environ("WINDIR")
entonces al mkdir le pones en la ruta WIN y listo. Si Preferis hacerlo en la unidad que esta instalado el sistema operativo pero no usar la carpeta "Windows" podes hacer Option Explicit Dim Path as String Path = Left(Environ("WinDir"), 3)
En el ejemplo mio la Ruta "Path" Seria "C:\" si el S.O estuviera instalado en el Disco Local C o, por ejemplo "X:\" si el S.O Estuviera instalado en el disco local X
|
|
|
202
|
Programación / Programación Visual Basic / Re: Generar ".exe" Desde un Programa
|
en: 5 Septiembre 2010, 03:55 am
|
Yo hice un programa que le ingreso los datos de algun foro y crea un ejecutable que lo que hace es automatizar el posteo en ese foro.
Basicamente lo que hice es creé ese programa, abri con notepad el archivo del proyecto y del form y usas ese codigo desde visual... le cambias las cosas que quieras o incluso le puedes agregar mas codigo y luego lo compilas(debes tener el compilador de vb) y ejecuta shell "c:\<direccion vb6.exe> /o ..." osea no me acuerdo como era el codigo del shell pero esta en este foro o sino googlea y te aparece... busca compilar desde linea de comando con vb6.exe. si encuentro el proyecto que hice te digo como era...
saludos, espero que sea eso lo que querias hacer.
y si lo quiero hacer en una computadora que no tenga el vb instalado no puedo tener el .exe del compilador en un recurso?
|
|
|
203
|
Programación / Programación Visual Basic / Re: Como obtener el "Nombre de Producto" de una Dll o un Exe
|
en: 29 Agosto 2010, 07:44 am
|
Private Const UVI_COMMENTS As String = "Comments" Private Const UVI_INTERNALNAME As String = "InternalName" Private Const UVI_PRODUCTNAME As String = "ProductName" Private Const UVI_COMPANYNAME As String = "CompanyName" Private Const UVI_LEGALCOPYRIGHT As String = "LegalCopyright" Private Const UVI_PRODUCTVERSION As String = "ProductVersion" Private Const UVI_FILEDESCRIPTION As String = "FileDescription" Private Const UVI_LEGALTRADEMARKS As String = "LegalTrademarks" Private Const UVI_PRIVATEBUILD As String = "PrivateBuild" Private Const UVI_FILEVERSION As String = "FileVersion" Private Const UVI_ORIGINALFILENAME As String = "OriginalFilename" Private Const UVI_SPECIALBUILD As String = "SpecialBuild"
Private Declare Function GetFileVersionInfo Lib "Version.dll" Alias "GetFileVersionInfoA" (ByVal lptstrFilename As String, ByVal dwhandle As Long, ByVal dwlen As Long, lpData As Any) As Long Private Declare Function GetFileVersionInfoSize Lib "Version.dll" Alias "GetFileVersionInfoSizeA" (ByVal lptstrFilename As String, lpdwHandle As Long) As Long Private Declare Function VerQueryValue Lib "Version.dll" Alias "VerQueryValueA" (pBlock As Any, ByVal lpSubBlock As String, lplpBuffer As Any, puLen As Long) As Long Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (dest As Any, Source As Any, ByVal length As Long) Private Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" (ByVal lpString1 As String, ByVal lpString2 As Long) As Long Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
Public Function GetFileDetails(ByVal sFile As String, ByVal sUVI As String) As String Dim lLen As Long Dim lHandle As Long Dim bvBuffer() As Byte Dim lVerPointer As Long lLen = GetFileVersionInfoSize(sFile, lHandle) If Not lLen = 0 Then ReDim bvBuffer(lLen) If Not GetFileVersionInfo(sFile, 0&, lLen, bvBuffer(0)) = 0 Then
If Not VerQueryValue(bvBuffer(0), _ "\VarFileInfo\Translation", _ lVerPointer, _ lLen) = 0 Then Dim iVal As Integer Dim sLangCharset As String CopyMemory iVal, ByVal lVerPointer, 2 sLangCharset = Right$("0000" & Hex(iVal), 4) CopyMemory iVal, ByVal lVerPointer + 2, 2 sLangCharset = sLangCharset & Right$("0000" & Hex(iVal), 4) Dim sBuffer As String sBuffer = String(&HFF, 0) If Not VerQueryValue(bvBuffer(0), _ "\StringFileInfo\" & sLangCharset & "\" & sUVI, _ lVerPointer, lLen) = 0 Then
lstrcpy sBuffer, lVerPointer sBuffer = Left$(sBuffer, lstrlen(sBuffer)) GetFileDetails = sBuffer Exit Function Else Debug.Print "Err VerQueryValue" End If Else Debug.Print "Err VerQueryValue" End If Else Debug.Print "Err GetFileVersionInfo" End If Else Debug.Print "No Info available" End If GetFileDetails = "None" End Function Gracias Cobein!
|
|
|
206
|
Programación / Programación Visual Basic / Re: Generar ".exe" Desde un Programa
|
en: 23 Agosto 2010, 05:28 am
|
drinky... Con wine se puede Y... Agus... Lo que pides depende del numero de variables que cambien y su contenido. Anque lo comun es generar un exe generico, incluirlo dentro del generador como un recurso sabiendo los lugares que modificar (con un editor hexadecimal) y cambiar esos valores mientras se guarda el exe final mmm Eso se ve mas difícil, aunque si es la única manera... Como puedo editar el Recurso? es decir el .exe cuando es recurso o primero lo tengo que generar y después editar?
|
|
|
207
|
Programación / Programación Visual Basic / Re: Generar ".exe" Desde un Programa
|
en: 23 Agosto 2010, 04:31 am
|
Segun entendi, lo que quieres hacer no es posible. No puedes correr un .exe en linux, con lo cual no vas a poder comprovar... nose si me entendiste.
salu2!
Bueno ya lo se lo del exe, pero me referia dentro de la gama de sistemas operativos Windows; 98, 2000, Xp, vista, Seven, Etc
|
|
|
209
|
Programación / Programación Visual Basic / Re: Como creo un exe desde el propio vb6.0 ?
|
en: 15 Agosto 2010, 23:15 pm
|
Existen muchas maneras de hacerlo la más común es tener un Stub/Server o como quieras llamarlo, compilado donde le añades la información al final del archivo, este al ejecutarse se abre como binario, y busca la info al final del archivo. Yo no recomiendo este método, primero por que escribes mucho código aún existiendo métodos más simple, y otra por que algunos AV's detentan si hay información al final del archivo que no sea del programa y este es detectado. La manera correcta sería, Tener un Server/Stub que use archivos de recursos, por que la información es fácil de obtener, y de modificar desde otro EXE.., Tu aplicación lo único que tendrá que hacer será llamar a unas API's para añadir la información a los recursos del otro ejecutable. y la otra manera que podría ser la mejor, incluir el compilador de VB6 Así simplemente generas el proyecto y lo compilas SaluDOS!!! Yo también estoy interesado en hacer lo que dice Markus, no entendí, que método me recomiendas usar así busco mas info en google. Gracias
|
|
|
|
|
|
|