Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: str0nghack en 6 Enero 2017, 19:21 pm



Título: aprender a usar la API de windows.
Publicado por: str0nghack en 6 Enero 2017, 19:21 pm
como vosotros aprendisteis? yo por mas que lo intento no se como utilizarla, gracias de antemano.


Título: Re: aprender a usar la API de windows.
Publicado por: ivancea96 en 6 Enero 2017, 19:54 pm
La API de Windows lo que tiene es que hay que hacer las cosas paso a paso.

Para cualquier información de sus funciones, tendrás la MSDN https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx (https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx), con todo bastante bien explicado y, a veces, algún ejemplo de uso.

De todos modos, la WinAPI es muy grande. ¿Qué necesitas de ella?


Título: Re: aprender a usar la API de windows.
Publicado por: str0nghack en 7 Enero 2017, 00:16 am
La API de Windows lo que tiene es que hay que hacer las cosas paso a paso.

Para cualquier información de sus funciones, tendrás la MSDN https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx (https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx), con todo bastante bien explicado y, a veces, algún ejemplo de uso.

De todos modos, la WinAPI es muy grande. ¿Qué necesitas de ella?

simplemente hacer programas sin usar la típica API <iostream>



La API de Windows lo que tiene es que hay que hacer las cosas paso a paso.

Para cualquier información de sus funciones, tendrás la MSDN https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx (https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx), con todo bastante bien explicado y, a veces, algún ejemplo de uso.

De todos modos, la WinAPI es muy grande. ¿Qué necesitas de ella?


por ejemplo esto serian las variables en uso?

BOOL WINAPI CopyFileEx(
  _In_     LPCTSTR            lpExistingFileName,
  _In_     LPCTSTR            lpNewFileName,
  _In_opt_ LPPROGRESS_ROUTINE lpProgressRoutine,
  _In_opt_ LPVOID             lpData,
  _In_opt_ LPBOOL             pbCancel,
  _In_     DWORD              dwCopyFlags
);



no entiendo como funciona, sabes algún manual en español?


Título: Re: aprender a usar la API de windows.
Publicado por: class_OpenGL en 7 Enero 2017, 06:05 am
La API de Windows se compone principalmente de funciones y estructuras. Si no sabes muy bien qué significan estos términos, mejor aprende primero a programar bien en C o en C++ (aconsejo C porque la API de Windows se basa en C). Si sabes bien lo que es una estructura o función, aprender la API de Windows es tan "simple" como ver de qué funciones dispone y tal.

Si no entiendes el funcionamiento de alguna función puedes preguntarlo. Aquí dejo un tutorial en español sobre creación de ventanas, diálogos... con la API de Windows:

http://winapi.conclase.net/curso/index.php (http://winapi.conclase.net/curso/index.php)


Título: Re: aprender a usar la API de windows.
Publicado por: str0nghack en 7 Enero 2017, 13:20 pm
La API de Windows lo que tiene es que hay que hacer las cosas paso a paso.

Para cualquier información de sus funciones, tendrás la MSDN https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx (https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx), con todo bastante bien explicado y, a veces, algún ejemplo de uso.

De todos modos, la WinAPI es muy grande. ¿Qué necesitas de ella?
gracias , volveré a repasar las estructuras y funciones.


Título: Re: aprender a usar la API de windows.
Publicado por: ivancea96 en 7 Enero 2017, 16:21 pm
BOOL WINAPI CopyFileEx(
  _In_     LPCTSTR            lpExistingFileName,
  _In_     LPCTSTR            lpNewFileName,
  _In_opt_ LPPROGRESS_ROUTINE lpProgressRoutine,
  _In_opt_ LPVOID             lpData,
  _In_opt_ LPBOOL             pbCancel,
  _In_     DWORD              dwCopyFlags
);

Esa función, ¿qué hace?
Citar
Copies an existing file to a new file, notifying the application of its progress through a callback function.
Copia un archivo a un nuevo archivo, y notifica a la aplicación del progreso.

Bien, pues por partes. Hay argumentos que se deducen solos, sin necesidad de ver la documentación (Aunque siempre está bien revisar):
  • lpExistingFileName - Nombre del archivo a copiar
  • lpNewFileName - Nuevo nombre del archivo
  • lpProgressRoutine - Como pone en la descripción de la función, la función notifica a la aplicación del progreso. Este parámetro es una función, un callback que será llamado para notificar el progreso. En la MSDN especifica: "This parameter can be NULL.". Así que lo ponemos a NULL si no queremos notificación. Si quisieras tener notificación, en la MSDN poneq ue está función tiene que recibir estos parámetros: https://msdn.microsoft.com/es-es/library/windows/desktop/aa363854(v=vs.85).aspx (https://msdn.microsoft.com/es-es/library/windows/desktop/aa363854(v=vs.85).aspx)
  • lpData - El callback recibe un parámetro que tú le puedes pasar. Lo que pongas en este parámetro lo recibirá el callback.
  • pbCancel - Este parámetro es un puntero a bool (LPBOOL). Si en algún momento mientras la función está trabajando, cambias el bool al que apunta a TRUE, se cancelará la copia.
  • dwCopyFlags - Este parámetro es un conjunto de "flags" para indicar cómo quieres que trabaje la función. En la MSDN ves qué flags le puedes pasar. Por ejemplo, podrías pasarle: COPY_FILE_FAIL_IF_EXISTS | COPY_FILE_NO_BUFFERING (Al pasar flags, se suele utilizar el operador OR (|))

En fin. Tendrás que leer la MSDN para cada parámetro. Está todo explicado. Si tienes alguna duda en algún parámetro en especial de alguna función, exponla. No sé si hay MSDN en español, pero no creoq ue sea necesaria. Toca aprender inglés. Y sino, traducirlo con algún traductor.