comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[SOLUCIONADO] Duda de libreria urlmon

  • 10 Respuestas
  • 3946 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Javierms

  • *
  • Underc0der
  • Mensajes: 14
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« en: Marzo 16, 2013, 01:51:02 am »
Puesto que he expuesto una duda muy extensa voy a intentar definir mejor la pregunta.

Quiero poder descargar un archivo con c++

Tengo un ejemplo con urlmon.h pero a la hora de compilar #include <urlmon.h>  no lo encuentra.

así que lo descargo y lo guardo en la carpeta pero luego a la hora de compilar aparece un error dentro de urlmon.h que no encuentra msxml.h y si no es un problema a la hora de compilar es otro.

como puedo hacer un downloader que compile bien¿?

A ver si así podéis aclararme algo chicos.


« Última modificación: Septiembre 09, 2014, 08:40:22 pm por Expermicid »

Desconectado avesudra

  • *
  • Underc0der
  • Mensajes: 9
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #1 en: Marzo 19, 2013, 06:36:50 pm »
Esa librería forma parte del SDK de Windows por lo que he leido. ¿lo tienes instalado?
Regístrate en No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado Javierms

  • *
  • Underc0der
  • Mensajes: 14
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #2 en: Marzo 21, 2013, 12:15:34 am »
Avesudra gracias por responder, me he instalado el sdk y aun así no soy capaz de compilarlo por lo menos en code::block que es el ide que estoy utilizando. Me sigue apareciendo este error: (urlmon.h: No such file or directory)

este es el code de ejemplo que utilizo:

Código: C
  1. #include <windows.h>
  2. #pragma comment(lib, "urlmon.lib")
  3. #include <urlmon.h>
  4. #include <stdio.h>
  5.  
  6. int main(void)
  7. {
  8.    HRESULT hr;
  9.    char url[] = "http://www.cualquierweb.com/lib.txt";
  10.    char local[] = "C:\\rirTemp\\Readme.txt";
  11.  
  12.    hr = URLDownloadToFile(NULL, url, local, 0, NULL);
  13.  
  14.    if (hr == S_OK){
  15.       No tienes permisos para ver links. Registrate o Entra con tu cuenta("Download OK");
  16.       return EXIT_SUCCESS;
  17.    }else {
  18.       No tienes permisos para ver links. Registrate o Entra con tu cuenta("There was an error");
  19.       return EXIT_FAILURE;
  20.    }
  21. }
  22.  
« Última modificación: Febrero 08, 2014, 04:54:01 pm por Expermicid »

Desconectado avesudra

  • *
  • Underc0der
  • Mensajes: 9
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #3 en: Marzo 21, 2013, 10:21:55 pm »
Una vez instalada si no me equivoco, debe haberte aparecido en archivos de programa una carpeta cuyo nombre es "Microsoft SDKs" dentro de ella me parece que hay varias carpetas según las versiones que estén instaladas, supongo que en ellas habrá unos ficheros de cabecera y los fuente, y las librerías compiladas, pues bien vete al Search Directories de codeblocks ( pestaña opciones -> compilador -> pestaña search directories).en la pestaña compiler debes agregar la carpeta Include, y en la pestaña  linke deberías agregar las librerías compiladas que no sé donde están pero no deben de andar muy lejos, busca carpetas como (lib , .lib, bin etc).

Siento no ser tan preciso, no tengo Windows instalado ahora mismo.

Esto puede servirte de guía, la carpeta por lo que veo es "Lib"

 No tienes permisos para ver links. Registrate o Entra con tu cuenta
« Última modificación: Marzo 21, 2013, 10:25:22 pm por avesudra »
Regístrate en No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado Javierms

  • *
  • Underc0der
  • Mensajes: 14
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #4 en: Marzo 22, 2013, 12:59:04 am »
Muchas gracias Avesudra me estas siendo de gran utilidad y la verdad voy por buen camino, haciendo lo que me dices al final he encontrado la ruta que en windows 8 es: "C:\Program Files (x86)\Windows Kits\8.0\" ahi estan las carpetas "lib" he "include" también tengo la carpeta sdk "C:\Program Files (x86)\Microsoft SDKs\" pero ahí no se encuentran dicho archivos por eso seguí buscando y logre dar con la primera ruta.

Ahora una vez tengo todo agregado, compilo el programa y mi programa no da ningún error sin embargo aparecen muchos errores, os muestro una captura.



Desconectado avesudra

  • *
  • Underc0der
  • Mensajes: 9
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #5 en: Marzo 22, 2013, 04:38:46 pm »
Hola, tengo una idea general de como hacerlo pero como todo esto es un mundo pues... Bueno como te dice ahí debes definir una arquitectura, vete a Options -> Compiler , justo en esa ventana abajo tienes un montón de "Compiler Flags" , si desplazas eso hacia abajo, hay unos cuantos que empiezan con Pentium no se que y no se cuanto busca cual es tu procesador y lo pones, en caso de no ver nada pon el que quieras.
Regístrate en No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado avesudra

  • *
  • Underc0der
  • Mensajes: 9
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #6 en: Marzo 22, 2013, 08:07:20 pm »
Lo que comenta Psymera no está mal, aunque no está de más saber instalar cosas con autonomía en tu IDE preferido.
Regístrate en No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado Javierms

  • *
  • Underc0der
  • Mensajes: 14
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #7 en: Marzo 22, 2013, 11:50:17 pm »
Nunca crei que fuera tan complicado.... o mas bien tan lioso
A ver mi cpu es i7 y en code::block solo hay hasta el core2duo que aun así marcando las opciones del procesador no se solucionan :S

bien... ahora probando lo que dice psymera pongo el mismo código en visualstudio y al compilar me aparecen estos errores.

No se si por que es visualc++ y no c++ o porque, pero estoy hecho un lío y solo quiero que funcione!!


Desconectado avesudra

  • *
  • Underc0der
  • Mensajes: 9
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #8 en: Marzo 23, 2013, 09:09:47 am »
Bueno ya probaré yo un día de estos en Codeblocks cuando virtualice un Windows. En cuanto a esos errores, pues haz lo que te comenta el compilador, agrega stdafx.h y como los LPWSTR son typedef's de wchar_t * pues lo pones como un arreglo de LPWSTR:
Código: C++
  1. #include <windows.h>
  2. #include <stdafx.h>
  3. #include <urlmon.h>
  4. #include <cstdio>
  5.  
  6. int main(void)
  7. {
  8.     HRESULT hr;
  9.     LPCWSTR url[] = "http://www.cualquierweb.com/lib.txt";
  10.     LPCWSTR local[] = "C:\\rirTemp\\Readme.txt";
  11.  
  12.     hr = URLDownloadToFile(NULL, url, local, 0, NULL);
  13.  
  14.     if (hr == S_OK)
  15.     {
  16.         puts("Download OK");
  17.         return EXIT_SUCCESS;
  18.     }
  19.     else
  20.     {
  21.         puts("There was an error");
  22.         return EXIT_FAILURE;
  23.     }
  24. }
« Última modificación: Marzo 23, 2013, 09:12:26 am por avesudra »
Regístrate en No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado Javierms

  • *
  • Underc0der
  • Mensajes: 14
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #9 en: Marzo 25, 2013, 11:34:36 am »
he modificado el codigo y aun asi no lo he hecho funcionar, que lio esto de que en visual tenga que ser de una manera y en code::blocks de otra :S

os dejo el codigo y el screenshot de los errores

Código: C
  1. #include <stdafx.h>
  2. #include <urlmon.h>
  3. #include <cstdio>
  4.  
  5. int main(void)
  6. {
  7.     HRESULT hr;
  8.     LPCWSTR url = L"http://www.cualquierweb.com/lib.txt";
  9.     LPCWSTR local = L"C:\\rirTemp\\Readme.txt";
  10.  
  11.     hr = URLDownloadToFile(NULL, url, local, 0, NULL);
  12.  
  13.     if (hr == S_OK)
  14.     {
  15.         No tienes permisos para ver links. Registrate o Entra con tu cuenta("Download OK");
  16.         return EXIT_SUCCESS;
  17.     }
  18.     else
  19.     {
  20.         No tienes permisos para ver links. Registrate o Entra con tu cuenta("There was an error");
  21.         return EXIT_FAILURE;
  22.     }
  23. }

¿Tan dificil es hacer un downloader que compile?


« Última modificación: Febrero 08, 2014, 04:54:16 pm por Expermicid »

Desconectado Juan

  • *
  • Underc0der
  • Mensajes: 159
  • Actividad:
    0%
  • Reputación 0
  • Ex-Drinky
    • Ver Perfil
« Respuesta #10 en: Abril 02, 2013, 07:37:29 pm »
En Code::Blocks no funciona la siguiente instrucción al precompilador:

Código: C
  1. #pragma comment(lib, "urlmon.lib")

Eso es para VS.

Tiene que haber un parametro que se le pasa al linker para linkear esa librería pero desconozco cual es. Yo que tu la cargaría en memoria con la API GetProcAdress y listo  ;)

un saludo.

 

¿Te gustó el post? COMPARTILO!



[SOLUCIONADO] ¿Kali Linux o Kali Linux Ligth ?

Iniciado por worq

Respuestas: 2
Vistas: 7880
Último mensaje Noviembre 21, 2017, 12:28:54 pm
por Codig0Bit
[SOLUCIONADO] Multiuploader de imagenes con mysql, hosting de imagenes con mysql

Iniciado por graphixx

Respuestas: 4
Vistas: 2245
Último mensaje Marzo 26, 2013, 05:42:58 pm
por Xt3mP
[SOLUCIONADO] ¿Como publicar un software como software libre?

Iniciado por FuriosoJack

Respuestas: 2
Vistas: 1661
Último mensaje Mayo 23, 2017, 07:24:22 am
por HATI
[SOLUCIONADO] Linux Mint, errores, errores y mas errores...

Iniciado por n1sendev

Respuestas: 12
Vistas: 3071
Último mensaje Noviembre 22, 2017, 06:50:55 am
por RuidosoBSD
[SOLUCIONADO] Ayuda urgente con Virus "Virus.Win32Sality"

Iniciado por Napsters

Respuestas: 6
Vistas: 3502
Último mensaje Junio 11, 2012, 03:38:18 am
por Satyricon