Power Builder - Direccionar Sistema

 
Vista:

Direccionar Sistema

Publicado por victor (61 intervenciones) el 19/03/2004 19:22:53
Hola Amigos como puedo direccionar mi sistema , por ejemplo que solo funcione en la unidad C , de tal modo que cuando lo trate de instalar en otra unidad(D) no se pueda .
Gracias.............
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Direccionar Sistema

Publicado por Ricardo (1957 intervenciones) el 20/03/2004 01:36:17
Hola que tal:

con la API GetModuleFileName Puedes obtener el path o carpeta donde se esta ejecutando, como te envia toda la ruta, solo obtienes la primera letra de la cadena y tienes la letra de la unidad.

La funcion es:
Function uLong GetModuleFileName(Int hinstModule, Ref String lpszPath, uLong cchPath) Library "kernel32.dll"

Puedes utilizar otras, solo que esta le pasas el nombre de tu programa

Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Direccionar Sistema

Publicado por Oscar (1178 intervenciones) el 20/03/2004 03:51:54
Creo que coincidimos con Ricardo. Obtienes la carpeta actual de tu aplicación con GetCurrentDirectory (PB 8 adelante) o con la API GetCurrentDirectoryA (buscá en este foro).

De esa manera, dejarás que instalen tu aplicación en la unidad que ellos quieran. El asunto es que no podrán ejecutar tu aplicación, sino no está en la unidad C. Es decir:

Script en el evento open de tu aplicación:
-------------------------------------
string ls_ruta,ls_unidad
//Obtenemos la ruta donde se ejecuta tu aplicación
ls_ruta=GetCurrentDirectory ( )

//Extraemos la primera letra de esa ruta:
ls_unidad=Mid(ls_ruta,1,1)

If ls_unidad<>"C" then
messagebox("Aviso", "No se puede ejecutar la aplicación en la unidad "+ls_unidad)
else
open(w_principal)
end if
-----------------------------------------
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar