SoloCodigo

Programación General => ASM (Ensamblador) => Mensaje iniciado por: podrrido en Domingo 21 de Septiembre de 2008, 10:20

Título: API de carpeta de win
Publicado por: podrrido en Domingo 21 de Septiembre de 2008, 10:20
vQue tal me gustaría saber si alguien conoce una API para poner el icono de carpetas ya se de Windows vista o de XP se los agradecería. Saludos :D
Título: Re: API de carpeta de win
Publicado por: Eternal Idol en Domingo 21 de Septiembre de 2008, 10:43
Cita de: "podrrido"
vQue tal me gustaría saber si alguien conoce una API para poner el icono de carpetas ya se de Windows vista o de XP se los agradecería. Saludos :D

¿Queres decir para cambiar el icono?
Título: Re: API de carpeta de win
Publicado por: podrrido en Martes 23 de Septiembre de 2008, 10:14
Es para ponerle a la aplicación el mismo icono de la carpeta de Windows o sea las que usa el mismo sistema operativo, bueno ya que estamos sabes de una API para limpiar una cadena de texto en memoria? . Saludos
Título: Re: API de carpeta de win
Publicado por: m0skit0 en Miércoles 24 de Septiembre de 2008, 11:25
El icono de cualquier .EXE o .DLL lo puedes sacar con el mismo Visual Studio 2008 (es gratis), en la sección de "resources". No necesitas ninguna API. Y en cuanto a la cadena de texto en memoria, no sé a qué te refieres. ¿La dirección en que se encuentra pertenece a tu programa o es externa? ¿Tienes el puntero a esta cadena? De todas formas lo tuyo suena a virus...  <_<
Título: Re: API de carpeta de win
Publicado por: Eternal Idol en Miércoles 24 de Septiembre de 2008, 12:17
No parece que necesites ninguna API para hacer lo primero, para lo segundo podes usar esta:
SecureZeroMemory (http://msdn.microsoft.com/en-us/library/aa366877(VS.85).aspx).
Título: Re: API de carpeta de win
Publicado por: podrrido en Viernes 26 de Septiembre de 2008, 10:07
Bueno pues si no hay una api para eso pues ni modo lo que pasa es que si se ponerle un icono a la aplicación pero lo que quería hacer era que apareciera la carpeta del sistema por defecto sea que si metiera mi aplicación en Windows XP saliera la carpeta de ese sistema y si metiera a Windows vista pues saliera en la aplicación la carpeta de Windows vista :D , pero pues ni modo. Sobre limpiar cadenas de texto utilice RtlZeroMemory y también funciono bien, y pues muchas gracias por las respuestas.  :good:
Título: Re: API de carpeta de win
Publicado por: Nebire en Domingo 12 de Octubre de 2008, 12:04
Cita de: "podrrido"
Bueno pues si no hay una api para eso pues ni modo lo que pasa es que si se ponerle un icono a la aplicación pero lo que quería hacer era que apareciera la carpeta del sistema por defecto sea que si metiera mi aplicación en Windows XP saliera la carpeta de ese sistema y si metiera a Windows vista pues saliera en la aplicación la carpeta de Windows vista :D , pero pues ni modo. Sobre limpiar cadenas de texto utilice RtlZeroMemory y también funciono bien, y pues muchas gracias por las respuestas.  :good:

si que hay API para eso...
'ExtractAssociatedIcon ' extrae el icono asociado a un fichero.. recibe 3 parámetros
instancia= la aplicación que hace la llamada...
ruta= ruta del fichero o aplicación del que se quiere tomar el icono.
indexIcon =índice del icono a obtener, cuando es una aplicación retiene el identificador del icono.
Creo recordar que se encontraba en la librería shell32.dll  Haz un export de las funciones de shell32.dll o 'guglea' un poco para obtener más info...

Luego puedes usar loadIcon, DestroyIcon, GetIconInfo, DrawIcon , etc ... para operar sobre él.

No obstante si lo vas a emplear para lo que señalas lo adecuado es que captures el icono una única vez y lo añadas como recurso en tu aplicación de instalación según detectes que sea XP o VISTA y no capturar en ese momento el icono...

Yo he usado ExtractAssociatedIcon en alguna ocasión para precisamente obtener los iconos de aplicación para generar un treeview de asociación de extensiones... lo hacía más vistoso..
Título: Re: API de carpeta de win
Publicado por: Eternal Idol en Domingo 12 de Octubre de 2008, 12:25
Efectivamente como ya se dijo HACE RATO: NO hace falta usar esa API para nada, con cualquier editor de recursos alcanza y sobra (ver mensaje de m0skit0).