elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  programacion nivel medio
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: programacion nivel medio  (Leído 4,709 veces)
mapers


Desconectado Desconectado

Mensajes: 638


Ver Perfil
programacion nivel medio
« en: 9 Junio 2010, 06:39 am »

disculpe la molestia quisiera saber si se puede abir la unidad de CD ,abrir documentos de textos , abrir ventanas todos esto desde el C++ y si es asi me pudieran dar una idea de eso ,me dijero que estudie el API de windows pero  hay no me indican nada de esto por favor si me pudieran dar una ayuda les agradeceria bastante   


En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: programacion nivel medio
« Respuesta #1 en: 9 Junio 2010, 06:49 am »

Código
  1. /* Fichero: cd.c */
  2.  
  3. #include <stdlib.h>
  4. #include <stdio.h>
  5. #include <windows.h>
  6.  
  7. void AbrirCD();
  8. void CerrarCD();
  9.  
  10. int main()
  11. {  
  12.    printf("Presione ENTER para abrir CD");
  13.    getchar();
  14.    printf("\nAbriendo CD...");
  15.    AbrirCD();
  16.  
  17.    printf("\n\nPresione ENTER para cerrar CD");
  18.    getchar();
  19.    printf("\nCerrando CD...\n\n");  
  20.    CerrarCD();
  21.  
  22.    system("PAUSE");
  23.  
  24.    return 0;
  25. }
  26.  
  27. void AbrirCD()
  28. {    
  29.     MCI_OPEN_PARMS mciParams;
  30.     DWORD dwFlags;
  31.     LPCTSTR szCharDrive = "D";
  32.  
  33.     memset(&mciParams, 0, sizeof(MCI_OPEN_PARMS));
  34.     mciParams.lpstrDeviceType = (LPCSTR) MCI_DEVTYPE_CD_AUDIO;
  35.     mciParams.lpstrElementName = szCharDrive;
  36.  
  37.     dwFlags= MCI_OPEN_TYPE | MCI_OPEN_TYPE_ID;
  38.  
  39.     if (!mciSendCommand(0, MCI_OPEN, dwFlags, (DWORD) &mciParams))
  40.     {
  41.          mciSendCommand(mciParams.wDeviceID, MCI_SET, MCI_SET_DOOR_OPEN | MCI_WAIT, 0);
  42.          mciSendCommand(mciParams.wDeviceID, MCI_CLOSE, MCI_WAIT, 0);
  43.     }
  44. }
  45.  
  46. void CerrarCD()
  47. {
  48.     MCI_OPEN_PARMS mciParams;
  49.     DWORD dwFlags;
  50.     LPCTSTR szCharDrive = "D";
  51.  
  52.     memset(&mciParams, 0, sizeof(MCI_OPEN_PARMS));
  53.     mciParams.lpstrDeviceType = (LPCSTR) MCI_DEVTYPE_CD_AUDIO;
  54.     mciParams.lpstrElementName = szCharDrive;
  55.  
  56.     dwFlags= MCI_OPEN_TYPE | MCI_OPEN_TYPE_ID;
  57.  
  58.     if (!mciSendCommand(0, MCI_OPEN, dwFlags, (DWORD) &mciParams))
  59.     {
  60.          mciSendCommand(mciParams.wDeviceID, MCI_SET, MCI_SET_DOOR_CLOSED|MCI_WAIT,0);
  61.          mciSendCommand(mciParams.wDeviceID, MCI_CLOSE, MCI_WAIT, 0);
  62.     }
  63. }
:http://www.programacionenc.net/modules.php?name=Tutoriales&d_op=vertuto&lid=38


En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.935


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: programacion nivel medio
« Respuesta #2 en: 9 Junio 2010, 11:03 am »

http://msdn.microsoft.com

Para expulsar la bandeja podes usar: IOCTL_STORAGE_EJECT_MEDIA.

Para abrir documentos de texto no necesitas la API de Windows pero podes usar CreateFile, ReadFile, WriteFile, CloseHandle, etc..

Para ventanas consulta CreateWindow/Ex.
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Riki_89D


Desconectado Desconectado

Mensajes: 851


BCN CITY


Ver Perfil
Re: programacion nivel medio
« Respuesta #3 en: 9 Junio 2010, 20:21 pm »

Para expusar la bandeja del CD no hay mas que hacer lo siguiente:
Código
  1. mciSendString("Set cdaudio door open wait",0,0,0);
  2.  

incluye la libreria mmsystem o winmm (dependiendo del IDE) yo uso Dev-C++ alli es winmm


Abrir Documentos puedes usar ReadFile o ifstream (este no viene del API),en fin todo lo que pides creo que con la API de  Windows puedes hacerlo i de sobras
un saludo
En línea

mapers


Desconectado Desconectado

Mensajes: 638


Ver Perfil
Re: programacion nivel medio
« Respuesta #4 en: 10 Junio 2010, 02:42 am »

y todo esto donde lo puedo estudiar o donde lo podria encontrar para leerlo a mas profundidad  ..............................
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: programacion nivel medio
« Respuesta #5 en: 10 Junio 2010, 03:05 am »

y todo esto donde lo puedo estudiar o donde lo podria encontrar para leerlo a mas profundidad  ..............................
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Riki_89D


Desconectado Desconectado

Mensajes: 851


BCN CITY


Ver Perfil
Re: programacion nivel medio
« Respuesta #6 en: 10 Junio 2010, 21:50 pm »

Como te han dicho debes leerte la MSDN,pero bueno yo tengo un buen manual que explica la base de la API con ejemplos sencillos de entender,si lo quieres pidemelo


un sld
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
FD_SET en Linux (pregunta de nivel medio-alto)
Programación General
Stroncio 4 4,863 Último mensaje 24 Enero 2011, 02:12 am
por Stroncio
Cules son los Lenguajes de Nivel Medio?
Programación General
RyogiShiki 9 9,864 Último mensaje 17 Enero 2011, 11:04 am
por Garfield07
Manual Batch (Nivel Medio) By 2Fac3R
Scripting
2Fac3R 0 2,333 Último mensaje 20 Octubre 2011, 22:33 pm
por 2Fac3R
[BATCH] Programa en batch (Herramientas utiles nivel medio-Avanzado)
Scripting
Srare 3 4,425 Último mensaje 15 Abril 2014, 20:13 pm
por Eleкtro
Segundo reto: Nivel medio « 1 2 3 4 »
Desafíos - Wargames
Mad Antrax 36 21,805 Último mensaje 28 Diciembre 2015, 09:24 am
por Mad Antrax
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines