[C con Clase] [Mensajes] [WinAPI] Item de ListView no carga cadena de texto

Santiago Tabarez santiago230792 en gmail.com
Jue Dic 13 19:57:35 CET 2012


Perdon por el archivo corrupto, ya lo envío en un tar.xz.

Las modificaciones que le hice consistieron en las que me habías
recomendado, sumado a unas correcciones que yo le hice para ser más
práctico: por ejemplo, en vez de utilizar un método de obtención  de datos
de la BIOS para cada ítem de informacion alojada en el registro, hice uno
más genérico que busque en el lugar especificado en los parámetros de la
funcion. Otro cambio fue agregar un fondo menos "aburrido" al programa.

Había leído que se podría obtener la información de la BIOS más
directamente con DmiDecode; y habia visto algo en DMTF (
http://dmtf.org/standards/smbios) sobre la especificación de SMBIOS y
obtener directamente la información.
¿Qué opinas al respecto? ¿Sería mejor dejar todo como está y obtener los
datos desde el registro, o pruebo con WMI, o con Dmidecode, o ser menos
dependiente de la API usando SMBIOS?

Sobre CPUID, ¿entonces sería mejor utilizar ensamblador en lugar de las
funciones __cpuid y __cpuidex ?
¿Tendrias algún soporte o material bibliográfico sobre ensamblador que me
recomendaras? ¿Tienes algun comentario sobre esto? ¿De la misma manera se
puede obtener información de la placa base? ¿Sabes algo de obtener la
información sobre los chips gráficos (o tarjetas gráficas) secundarias,
además de las primarias?

Sobre las modificaciones, aunque actualmente funciona bien (Visual Studio
2012 ni Dev C++ 5.3 me dan advertencias importantes), lo que quisiera es
saber si hay maneras más eficientes de expresar el código, para mejorar el
método de desarrollo y el rendimiento, que de la manera que está
actualmente. Algunos de los cambios fueron estéticos, otros de eficiencia.

Agradezco la ayuda.


El 13 de diciembre de 2012 08:48, Salvador Pozo Coronado <
salvador en conclase.net> escribió:

> Estimado Santiago,
>
> Hola:
>
> Con fecha miércoles, 12 de diciembre de 2012, 15:22:25, escribió:
>
> ST> Hice cambios en el código como me habias recomendado y efectivamente
> funciona.
>
> Me alegro. :)
>
> ST> Te reenvio el código cambiado para ver si me recomiendas algún
> ST> cambio necesario para mantener la calidad y eficiencia en el mismo.
>
> Lo  siento, pero el fichero adjunto me ha llegado corrupto, y no puedo
> descomprimirlo.
>
> ST> Una consulta: he leido en la documentacion de Microsoft que
> ST> existe una funcion que devuelve información sobre la CPU, __cpuid y
> __cpuidex.
>
> ST> void __cpuid (int CPUInfo[4], int InfoType);
>
> ST> void __cpuidex (int CPUInfo[4], int InfoType, int ECXValue);
>
> ST> Pero la documentacion dice que sólo sirve para procesadores x86 y
> ST> x86-64. ¿Hay alguna otra funcion o procedimiento que me sirva para
> ST> extraer la informacion de una CPU, como las ARM, IA-64 u otras?
>
> No  sé  apenas  nada  de  ese tema, no es problema que me haya surgido
> antes, y nunca lo he investigado.
>
> Según  el  artículo  de  la  Wikipedia,  el  CPUID  lo  tienen  muchos
> procesadores,  aunque  como  en principio es un "invento" de Intel, no
> tienen  por  qué tenerlos todos, y desde luego, los más antiguos no lo
> tienen.
>
> Por  lo  que  veo en ese artículo, siempre puedes acceder directamente
> usando  ensamblador  (que  se puede insertar directamente en el código
> C++):
>
> http://en.wikipedia.org/wiki/CPUID
>
> Sinceramente, no puedo ayudarte mucho en este tema. Por lo general, me
> preocupa  más  mantener  la  compatibilidad,  de modo que suelo buscar
> formas  de  que mis programas sean portables, en lugar de centrarme en
> las  diferencias,  y  más si estas son tan concretas y detalladas como
> las que estamos comentando.
>
> En cuanto a posibles modificaciones, tal vez pueda darte alguna pista,
> si me envías una versión que pueda ver. En cualquier caso, una vez que
> el programa funciona, algunas modificaciones son más bien una cuestión
> de  estética,  de  gustos personales, de manías... Pero creo que puedo
> intentar  centrarme  en  puntos  concretos  que  ayuden a optimizar el
> programa o a que sea más fácil de leer. Ya veremos...
>
> Hasta pronto.
> --
> Saludos,
> Salvador  mailto:salvador en conclase.net
> Con Clase:  http://www.conclase.net
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20121213/c5d49a77/attachment.html>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: IdentiKit-v2.tar.xz
Type: application/octet-stream
Size: 652180 bytes
Desc: no disponible
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20121213/c5d49a77/attachment.obj>


Más información sobre la lista de distribución Cconclase