|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - Eternal Idol
Páginas: 1 ... 90 91 [92] 93 94 ... 205
2276
« en: Miércoles 30 de Mayo de 2007, 21:54 »
No tengo tiempo de probarlo ni analizarlo (especialmente las tablas) pero no entiendo la razon por la cual no usas el codigo logico para activar el bit de cr0. Despues en el codigo protegido seguis trabajando como si estuvieras en 16 bits cuando en realidad estas en 32 y con un modelo de memoria plana. ¿Cual es la razon para poner jmp 0x8:protected_mode?
2277
« en: Miércoles 30 de Mayo de 2007, 20:19 »
Aca tenes un ejemplito de como usar ShellExecuteEx: SHELLEXECUTEINFO sInfo; ZeroMemory(&sInfo, sizeof(SHELLEXECUTEINFO)); sInfo.cbSize = sizeof(SHELLEXECUTEINFO); sInfo.lpVerb = "open"; sInfo.lpFile = "notepad.exe"; sInfo.nShow = SW_SHOWDEFAULT; ShellExecuteEx(&sInfo);
Recorda que en SHELLEXECUTEINFO hay un campo llamado hProcess, podes esperar con INFINITE sobre el si especificas el valor SEE_MASK_NOCLOSEPROCESS en fMask. Lee bien la ayuda y proba, tal vez ShellExecuteEx no te sirva para todos los casos, CreateProcess es mejor.
2278
« en: Miércoles 30 de Mayo de 2007, 20:07 »
Solo tiene un parametro que indica los milisegundos a esperar: Sleep
2279
« en: Miércoles 30 de Mayo de 2007, 20:02 »
Ya fue pero si tengo que decir algo lo digo directamente
2280
« en: Miércoles 30 de Mayo de 2007, 17:55 »
¿Probaste con Sleep? Es una funcion de la API de Windows.
2281
« en: Miércoles 30 de Mayo de 2007, 16:14 »
Fijate cual es el ultimo caracter que devuelve fgets.
2282
« en: Miércoles 30 de Mayo de 2007, 15:45 »
Asignar el valor 0 (fin de cadena) a un elemento del array (el ubicado en strlen - 1).
2283
« en: Miércoles 30 de Mayo de 2007, 15:40 »
Devuelve el tamaño de una cadena ...
2284
« en: Martes 29 de Mayo de 2007, 19:41 »
Gracias, pero con tu respuesta no me ayudas mucho!! ¿¿Miraste la pila de llamadas?? Si eso no te sirve para darte cuenta de donde viene el problema usa el WinDbg y al menos sabras en que modulo se produce la excepcion: File>>Open Executable>>tu programa .symfix C:\Symbols g Y cuando de la excepcion: .reload !analyze -v
2285
« en: Martes 29 de Mayo de 2007, 18:23 »
Mira la pila de llamadas y sino usa un depurador de verdad como el WinDbg.
2286
« en: Martes 29 de Mayo de 2007, 10:49 »
Muchas gracias por la ayuda que me has prestado. Me ha sido de gran ayuda, no había caido en indicar mediante la propiedad dwFileAttributes para referirme a los directorios. Gracias de nuevo. De nadas
2287
« en: Martes 29 de Mayo de 2007, 08:18 »
Los servicios de Linux estan disponibles en la interrupcion 080h. Y los podes encontrar enumerados en /usr/include/asm/unistd.h, los parametros van en ebx, ecx, edx, esi, edi y ebp. Para trabajar con archivos te seran utiles las constantes de /usr/include/asm/fcntl.h.
Ademas podes usar la biblioteca standard de Linux (libc o glibc) que usa la convencion de llamada de C. Por lo tanto podes hacer lo mismo que cualquier programa en C.
2288
« en: Martes 29 de Mayo de 2007, 08:13 »
En este foro no acostumbramos dar codigo asi como asi y muchisimo menos programas completos. Teniendo en cuenta que con eso tiene lo que pidio y es algo que se puede conseguir en cualquier manual, cierro el hilo.
2289
« en: Lunes 28 de Mayo de 2007, 22:14 »
Estas usando un formato, CF_HDROP, que no se corresponde con los datos que especificas. Para copiar un archivo usando este formato no se copian directamente los datos sino que se usa una estructura donde se indica el path de los archivos. Estructura DROPFILES
2290
« en: Lunes 28 de Mayo de 2007, 18:29 »
Hay un campo en la estructura WIN32_FIND_DATA llamado dwFileAttributes, con ese podes determinar si es un directorio o un archivo (FILE_ATTRIBUTE_DIRECTORY). Despues tenes que formar el nombre partiendo de tu directorio raiz:
Raiz (sin la parte de busqueda de archivo obviamente) + \ (yo siempre hago una funcion que comprueba si tiene barra final y la agrega de ser necesario) cFileName + \ y la parte de la busqueda (*.lck en este caso). Con eso llamas a tu funcion recursivamente y te recorre todos los subdirectorios necesarios, los dos primeros son . y .., ignoralos.
PD. Fijate que las \ en C tenes que ponerlas dobles (\\) ya que es el caracter de escape por defecto.
2291
« en: Lunes 28 de Mayo de 2007, 15:07 »
Para el enlace estatico necesitas el .lib correspondiente y para el dinamico usar las funciones que te nombre anteriormente: LoadLibraryGetProcAddressEjemplo
2292
« en: Lunes 28 de Mayo de 2007, 13:45 »
En la API de Windows existen funciones que sirven para hacerlo: FindFirstFileFindNextFileEn los dos paginas tenes el enlace a un ejemplo de como usarlas.
2293
« en: Lunes 28 de Mayo de 2007, 10:29 »
Sin embargo, de vez en cuando te encuentras algunas cosas, como recientemente que estoy trabajando con una interfaz USB utilizando herramientas de Microchip, y me entero que su "API" para la aplicación en la PC está encapsulada en una DLL compilada con Borland C++ y no es posible enlazarla con VC++ (la DLL que te dan para descarga, se puede enlazar con otra buscando por allí ). Sera un caso excepcional ya que la amplia mayoria de las veces los usuarios que no pueden enlazar son los que usan Borland, ya que este usa otros formatos para los archivos de objetos (.obj) y las bibliotecas de importacion (.lib). Generalmente intentaran buscar por todos lados a algun alma caritativa que les genere su biblioteca de importacion y sino usaran enlace dinamico (LoadLibrary + GetProcAddress).
2294
« en: Lunes 28 de Mayo de 2007, 02:02 »
Este tema se trato muchas veces en el foro, podes buscarlo, asi que voy a ser muy breve: Para Windows VC++ es el mejor compilador. Visual Studio es el mejor IDE por lejos. Para GNU/Linux gcc es el mejor compilador. No lo se, yo use KDevelop. Siempre esta la posibilidad de usar el compilador de Intel que en cuanto a optimizacion es muchas veces el mejor pero no esta tan bien integrado como los anteriormente nombrados. En cuanto a la lista en las FAQs tenes bastante enumerados: http://foros.solocodigo.com/index.php?showtopic=23877
2295
« en: Lunes 28 de Mayo de 2007, 01:54 »
Mira, eso fue lo que me tomo buscar sobre cosas que jamas use, donde te deje un enlace directo a un emulador e informacion de otro, la proxima vez directamente no te respondo un carajo y listo.
2296
« en: Domingo 27 de Mayo de 2007, 21:07 »
Gracias, pero donde puedo aprender a programar con turbo vision no encuentro algo claro que me enseñe donde ¿Entraste a esa direccion? Esta disponible hasta el codigo fuente pero realmente es una tecnologia arcaica y obsoleta, superada por varias generaciones de codigo de Borland.
2297
« en: Domingo 27 de Mayo de 2007, 18:48 »
Los errores se deben a que no encuentra esas dos funciones al enlazar, si tenes la biblioteca de importacion (archivo .lib) que sirva para el Builder podes enlazar estaticamente. Sino proba usando enlace dinamico (LoadLibrary + GetProcAddress).
2298
« en: Domingo 27 de Mayo de 2007, 10:16 »
De nadas
2299
« en: Domingo 27 de Mayo de 2007, 01:29 »
Por suerte El manual de intel trea un ejemplo Te dije que empezaras por ahi
2300
« en: Domingo 27 de Mayo de 2007, 01:18 »
Je, si con activar ese bit alcanzara esto seria tu solucion: mov eax,cr0 or al, 1 mov cr0, eax
Páginas: 1 ... 90 91 [92] 93 94 ... 205
|
|
|