Ver por etiquetas

Todas las etiquetas » Win32 (RSS)
NOTA IMPORTANTE: Esta entrada está obsoleta porque lo que describo más abajo no funciona tal y como está contado. Es un mea culpa en toda propiedad por no haber probado antes lo que escribía, pero es que la entrada original es bastante creíble. Eso me llevó a crear un nuevo artículo, esta vez verificado, que se puede leer aquí: Llamando al API de WinRT desde aplicaciones de escritorio normales en C# *****************************************...
Decíamos ayer y antes de ayer que para crear aplicaciones Metro en Windows 8 podíamos usar, o bien el .NET Framework 4.5 con C# y VB.NET o bien hacerlo con el tradicional C++. Ya conocemos que Microsoft se ha dado cuenta de que la cosa manejada no deja de ser un poco juguete comparada con la nativa, y que hay muchísimas empresas que siguen, no solo con C++, sino incluso con MFC. Independientemente de eso, lo cierto es que el API para Metro no es más que una variación de Win32, empaquetada y ofrecida...
Bueno, al final no ha costado mucho encontrarlo. Básicamente, el resultado de esta investigación es: O con otras palabras: WinRT y Metro se ejecutan, como todo lo demás, sobre Win32, con las ventajas y los inconvenientes que eso pueda tener. No me malinterpretéis: no hay nada malo que la arquitectura sea diferente a la indicada en el gráfico de arriba, lo que está mal es que Microsoft nos mienta tan descaradamente. Simplemente eso. Si lo han hecho así...
Observad con detalle la imagen de arriba. Fijaos en que está dividida en dos grandes bloques. A poco que os haya preocupado la arquitectura lógica de Windows, os daréis cuenta de que hay nueva chica en la oficina: WinRT. Ya hablé de algo así aquí , pero en relación con la arquitectura de Apple comparada con la de Windows, y de los últimos cambios que Microsoft ha ido haciendo para adecuar su plataforma NT para que sea funcional y útil...
Todavía estoy leyendo temas generales sobre el desarrollo en MAC, de hecho aún no he pasado de los manuales que describen las tecnologías y los diferentes bloques en que se divide el desarrollo en MAC. No obstante me ha surgido una curiosa reflexión que quiero compartir con vosotros. Todavía no estoy muy seguro de que sea completamente cierta, porque todavía no he profundizado en los conceptos MAC y lo que he leído tiene más que ver con la publicidad...
Justo he empezado a leer The old new thing de Raymond Chen, que es un libro entresacado a partir de las entradas más interesantes del blog del autor . Y me está gustando tanto que lo estoy leyendo como si fuera una novela de aventuras, sección tras sección. En él hay un curioso capítulo que trata de las interioridades de la función de Win32 GetWindowText() que no he podido reprimirme en parafrasearlo aquí. Para aquel que no lo sepa, dicha función devuelve en uno de sus parámetros el título de la...
5 comment(s)
Archivado en: ,,
No sé si es que la memoria me falla, o que tiempos antiguos fueron mejores o que simplemente he mezclado dos libros, pero lo cierto es que este libro me ha reportado más desilusiones que ilusiones. Recuerdo haber leído ediciones anteriores (la cuarta seguro que no), aunque en mi biblioteca física –la de los libros en papel, vamos-, sólo veo el de Helen Custer, que fue, si de nuevo las meninges no me engañan, el primero o la precuela de la serie. Pero...
Seguro que no es la primera vez que te pasa que te dejan una serie de rutinas (generalmente en formato DLL) que reciben cadenas en formato ANSI y tu aplicación está escrita en Unicode, y cuando preguntas si tienen versión Unicode te responden que no y que no la van a tener… Y como no quiero perder mi empleo, voy a parar aquí. Pues bien, existe una forma muy sencilla de pasar cadenas entre ambos formatos sin tener que liarnos con las funciones de conversión...
4 comment(s)
Archivado en: ,,,
Como podéis ver no se me ha olvidado el tema , simplemente es que he estado demasiado gandulete como para escribir sobre esto, pero una pregunta en el foro web de C++ me ha hecho que me ponga a ello. En teoría esta debería ser la tercera parte en lugar de la segunda, aunque la verdad no es que realmente tenga mucha importancia. Por lo tanto, esta entrada que estás leyendo sigue a esta otra. Aquí voy a contar los tres modos que hay de usar una DLL desde C y C++,...
Hace poco expliqué cómo obtener el número de versión del propio ejecutable desde C++ Builder utilizando la VCL (su biblioteca de clases) y dejé como pendiente el obtenerla desde Win32 o MFC. Como lo he necesitado, he modificado el código y lo presento aquí: TCHAR appName[MAX_PATH]; GetModuleFileName(AfxGetApp()->m_hInstance,appName,MAX_PATH-1); DWORD handle; DWORD size = GetFileVersionInfoSize(appName, &handle); if(size!=0) { TCHAR *buffer = new TCHAR[size + 1]; GetFileVersionInfo(appName...
La respuesta corta es que sí. La larga es que no mucho. Veamos. Acabo de terminar de leer la parte del libro de Windows Internals que se refiere al registro de Windows, y básicamente me ha quedado un mal sabor de boca, cosa que a veces suele pasar con este tipo de libros políticamente aprobados , y es que no deja nada claro si el registro se fragmenta o no. En disco, el registro no es más que una serie de ficheros repartidos a lo largo de varios lugares, ficheros que se...
Ya es oficial. Ya no tengo que morderme los nudillos, ni ponerme esparadrapos en la boca, ni pisarme a mi mismo para evitar soltarlo: Microsoft ha lanzado un nuevo sistema operativo especialmente diseñado para los ultraligeros y toda su familia anexa, por lo que tampoco descarto ver lectores de libros-e con esta tecnología en sus tripas. Como está basado en Windows CE, el núcleo será igual de estable, y al ser una versión “destripada”, todavía más. Por ejemplo, yo una vez conseguí una imagen de CE...
Muchos habréis observado que en las propiedades de un ejecutable o una DLL suelen aparecer, en la pestaña Detalles de las propiedades, una serie de nombres y de datos sobre la versión de dicho fichero. Eso se consigue embebiendo en el ejecutable un recurso de versión, que en Win32 se llama RCVERSION y que consta de una serie de cadenas y valores predefinidos que podemos rellenar a nuestro gusto. En las imágenes de abajo podemos ver un ejemplo añadido a un ejecutable, tanto desde C++ Builder como...
Esta semana estamos de fiesta, y es que una de mis pasiones en el desarrollo siempre ha sido verle las tripas a Windows, y a ello vamos. Antes de nada, lo que voy a contar aquí es un resumen del punto System Service Dispatching del capítulo 3 de Windows Internals 5ª edición, pero es un resumen un poco especial porque voy a añadir cosas de mi cosecha, como siempre hago, ya que no es cosa de ir parafraseando lo que voy aprendiendo/recordando. En entradas anteriores, y algunas veces en los foros, he...
En la entrada anterior expliqué qué ocurre cuando una aplicación peta y se genera una excepción no controlada (o controlada pero relanzada), y en esta voy a explicar cómo podemos, desde nuestro propio programa, configurar el modo en que eso ocurre. Pero antes una introducción. En algunos lados he dicho que las excepciones son caras. Con eso no me refiero a que cuesten dinero, sino a que es un tipo de característica que resulta muy complicada de procesar...
Esto leyendo la quinta edición de Windows Internals, que cubre Windows Vista y Windows Server 2008 y es la última versión disponible del libro. Allá por los años del Windows 95 y del NT 4.0, un poco antes, un poco después, estaba yo muy interesado en las tripillas de los sistemas operativos, y aparte de empacharme con algún que otro mamotreto genérico sobre el tema, le di caña a los equivalentes, como Windows 95, al descubierto , o el Windows NT de Helen Custer, así como otros de similar temática...
Si has intentando instalar las últimas versiones de QT en Visual Studio habrás visto que la cosa no funciona como debe ya que la biblioteca no compila, fallando en la parte de la construcción de WebKit, que viene a ser el componente para navegación Web de QT (Algo así como el control OCX del IE, pero válido para cualquier plataforma soportada). Pese a ello, puede resultar muy interesante tener disponible esta plataforma en Visual C++, ya que, aunque la podemos...
Tenemos una nueva versión de C++ Builder a la vuelta de la esquina, para el 24 de agosto si no me he equivocado en los cálculos. Ciertamente es una gran cosa que Embarcadero, los nuevos propietarios y quiero creer que definitivos, hayan devuelto este magnífico producto a la vida, como vamos a ver. [Si no te molan mis pajas mentales históricas y autobiográficas, salta hasta C++ Builder 2010 ]. Un poco de historia Yo fui un furioso borlander , hasta quizás...
Las DLL tuvieron su origen cuando se quiso compartir código común entre diferentes aplicaciones para así ahorrar algo de espacio en disco (posiblemente espacio en disquetes ). Esto requirió que Windows implementara ciertos modelos de memoria bastante complicados para la época (de la historia de Unix/Linux poco sé, si la idea de compartir bibliotecas en tiempo de ejecución fue anterior o posterior –supongo que anterior, aunque vaya usté a saber-), pero era hacerlo así o limitar gravemente a Windows...
Introducción Suele aparecer con cierta frecuencia en los foros de ayuda cierta confusión entre C++ y C++/CLI. Hay quien pregunta algo de C++ siendo C++/CLI y viceversa, o quien intenta aplicar algo de C++/CLI a C++ (y también al revés), o simplemente se ve completamente ofuscado con el tema. En esta entrada vamos a intentar poner un poco de orden en todo esto. C++ no es C++/CLI C++ es el lenguaje de toda la vida, inventando por Stroustrup y que, pese al deseo de muchos, está más vivo que nunca y...
Más artículos Página siguiente >