Raro comportamiento en inicio de Windows

User avatar
jrestojeda
Posts: 543
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: Raro comportamiento en inicio de Windows

Post by jrestojeda »

RenOmaS wrote:Una question?
Como "defines" para que tu programa se inicie con el windows??
Ejecutando en el CMD de Windows la siguiente sentencia:

Code: Select all

REG ADD hklm\software\microsoft\windows\currentversion\run /v Prueba /t reg_sz /d "C:\PRUEBA\PRUEBA.exe" /f
Saludos, Esteban.
Ojeda Esteban Eduardo.
Buenos Aires - Argentina.
FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport
Skype: jreduojeda
hmpaquito
Posts: 1200
Joined: Thu Oct 30, 2008 2:37 pm

Re: Raro comportamiento en inicio de Windows

Post by hmpaquito »

jrestojeda wrote:Antonio...
Ahi la cuestión!! :D

Al iniciar desde la clave de registro el MsgInfo muestra: "C:\Document and Settings\Esteban\Sistema.ini"
Pero por otro lado en la ejecución manual del programa el MsgInfo muestra: "C:\Prueba\Sistema.ini"

Creo que está claro el error con ese dato.
Ahora bien, no me cierra con por qué de la cuestión. Ya que el ejecutable no se encuentra en ese directorio. Creía que CurDrive()+":\"+CurDir() siempre me mostraba el path de donde se encuentra el exe que se está ejecutando.
Es un error de Windows o un bug de FWH?

Se podrá solucionar? O bien debo poner el INI en el directorio del usuario?
Saludos, Esteban.

¿ Y no es eso lo que precisamente te sugerí que hicieras ?
Pon un mensaje para ver los valores de Curdrive() y Curdir().
Saludos
User avatar
jrestojeda
Posts: 543
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: Raro comportamiento en inicio de Windows

Post by jrestojeda »

hmpaquito wrote:¿ Y no es eso lo que precisamente te sugerí que hicieras ?
Pon un mensaje para ver los valores de Curdrive() y Curdir().
Saludos
Si, tienes razón, y lo había probado, pero ni me imaginaba que podría cambiar eso al inicio respecto a la ejecución manual...
Lo había probado sin reiniciar. :oops:
De este modo sabemos cual es el problema, pero aun no tenemos la sulución. :roll:
No entiendo el por qué me cambia el path ya que el exe está en un solo lugar.
Ojeda Esteban Eduardo.
Buenos Aires - Argentina.
FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport
Skype: jreduojeda
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Raro comportamiento en inicio de Windows

Post by FranciscoA »

Esteban.
En realidad parece que hay un problema con los .INI, ó con las funciones que manejan los .INI.
He realizado múltiples pruebas sobre éste caso y no he logrado hacer funcionar el inicio automático del programa.
Uso Windows Profesional SP2.

Tengo el ejecutable y resto de ficheros (dbfs, índices,bmps, etc), en el mismo directorio, y siempre sale el error de que no encuentra las tablas.

Por ejemplo, tengo definido así en el INI:
PathDef=.\
DrivDirUser=.\

Luego, al inicio del programa declaro las variables static cIniFile:=".\Financ.Ini y cPathDef

Dentro de la function Main() :
cPathDef:= GetPvProfString( "Config", "Path" , ".\" , cIniFile ), etc...
Set default to (cPathDef)
Set resources to (cPathDef)+"\Financ.dll"

En el Registro de Windows: HKEY_CURRENT_USER/Software/Microsoft/Windows/Current Version/Run ó HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Run

Bueno, el ejecutable arranca, pero al buscar las dbfs no las encuentra, y sale el famoso mensaje de error.

Creo que una solución (no para corregir ésto, sino para poder arrancar un programa al inicio de Windows cómo lo deseas),
sería codificar en FWH una función que cree el acceso directo al programa y lo coloque dentro de la carpeta de Inicio.
Pero... ¿existe tal función en FWH?. Podría ser algo parecido al ejemplo de instalación que provee FWH.

Al arrancar el ejecutable se podría chequear si existe este acceso directo en la carpeta de Inicio (por si usuario lo borró), y re-crearlo. Claro que al no existir, debe arrancarse manualmente el programa, pero en el próximo inicio ahí estaría.

Sé que pueden existir otras soluciones, pero las desconozco. ¿Alguien sabe acerca de ésto?

Saludos. :roll:
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh1204-MySql-TMySql
User avatar
acuellar
Posts: 1312
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Raro comportamiento en inicio de Windows

Post by acuellar »

Esteban, has intentado ejecutarlo en el AUTOEXEC.NT

Saludos,


Adhemar
Saludos,

Adhemar C.
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Raro comportamiento en inicio de Windows

Post by FranciscoA »

Esteban, otra solución sencilla, sin utilizar el registro de Windows u otras opciones, las que se perderían de todos modos, al formatear.

1- Crear un acceso directo dentro de la carpeta misma del programa. (siempre tendrías este acceso a la mano)
2- Escribir código para que, al arrancar el programa, chequee si existe este acceso en la carpeta de Inicio. Si no existe, copiar el
acceso que tienes en la carpeta del programa. Si no lo tienes en ésta última, no hay problema, el programa se puede arrancar manualmente.
3- Arrancar el programa manualmente, por primera vez, para que haga lo anterior.

Como siempre tendrás una copia del acceso en la carpeta del programa, si el usuario lo borra de la carpeta de Inicio, el programa lo vuelve a copiar. Si la borrar del directorio del programa, pués será una violación abierta a tu sistema.

Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh1204-MySql-TMySql
Simon
Posts: 105
Joined: Thu Oct 20, 2005 12:29 pm
Location: Maracaibo, Venezuela.

Re: Raro comportamiento en inicio de Windows

Post by Simon »

Hola, porque no creas una llave en el registro de windows con el path de tu aplicación, luego al arrancar tu aplicación lees el valor (que creaste previamente) del registro de windows y siempre te va a funcionar sin importar desde donde ejecutes tu aplicacion.

El problema que tienes es que no le has dicho el path desde donde debes ejecutar tu aplicación, lo que estas haciendo es ejecutar tu programa desde un path distinto, me explico, no es lo mismo ejecutar tu programa desde c:\prueba que ejecutarlo desde c:\users, curdir() no va devolver los mismo valores.

Saludos.
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Raro comportamiento en inicio de Windows

Post by FranciscoA »

Esteban, hice algunas pruebas más y se me ocurrió modificar los paths que uso dentro del .INI, poniéndoles las rutas completas a todos los items que utilizo. También en el programa principal donde establezco la ruta del INI, la cambié poniéndosela completa: Static cIniFile := "D:\CARPETAX\EJECUTABLE", y el resultado fué: ¡It is working...!!!

Nota: todos los recursos (bmp, etc,) deben estar en la .dll o .rc según lo uses.

Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh1204-MySql-TMySql
User avatar
jrestojeda
Posts: 543
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: Raro comportamiento en inicio de Windows

Post by jrestojeda »

FranciscoA wrote:Esteban, hice algunas pruebas más y se me ocurrió modificar los paths que uso dentro del .INI, poniéndoles las rutas completas a todos los items que utilizo. También en el programa principal donde establezco la ruta del INI, la cambié poniéndosela completa: Static cIniFile := "D:\CARPETAX\EJECUTABLE", y el resultado fué: ¡It is working...!!!
Justamente una de las cosas que tengo en el INI es el path donde están los datos del sistema, es decir, todas las DBFs.
Logrando levantar el archivo .INI con el programa cuando este arranca en el inicio de Windows, técnicamente estaría solucionado el problema.
Ojeda Esteban Eduardo.
Buenos Aires - Argentina.
FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport
Skype: jreduojeda
User avatar
omarelunico
Posts: 33
Joined: Sun May 14, 2006 7:31 am
Location: Lima - Perú

Re: Raro comportamiento en inicio de Windows

Post by omarelunico »

Tiene que colocar el archivo .ini dentro de esa carpeta
C:\Document and Settings\Esteban\
y te va a funcionar, por defecto windows xp lee todos los archivos que configuras dentro de
C:\Document and Settings\Esteban\ .

Problema resuelto.
Post Reply