programacion nivel medio

Iniciado por mapers, 9 Junio 2010, 06:39 AM

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

mapers

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   

Shell Root

/* Fichero: cd.c */

#include <stdlib.h>
#include <stdio.h>
#include <windows.h>

void AbrirCD();
void CerrarCD();

int main()
{   
    printf("Presione ENTER para abrir CD");
    getchar();
    printf("\nAbriendo CD...");
    AbrirCD();
   
    printf("\n\nPresione ENTER para cerrar CD");
    getchar();
    printf("\nCerrando CD...\n\n");   
    CerrarCD();
   
    system("PAUSE");
   
    return 0;
}

void AbrirCD()
{     
     MCI_OPEN_PARMS mciParams;
     DWORD dwFlags;
     LPCTSTR szCharDrive = "D";

     memset(&mciParams, 0, sizeof(MCI_OPEN_PARMS));
     mciParams.lpstrDeviceType = (LPCSTR) MCI_DEVTYPE_CD_AUDIO;
     mciParams.lpstrElementName = szCharDrive;

     dwFlags= MCI_OPEN_TYPE | MCI_OPEN_TYPE_ID;

     if (!mciSendCommand(0, MCI_OPEN, dwFlags, (DWORD) &mciParams))
     {
          mciSendCommand(mciParams.wDeviceID, MCI_SET, MCI_SET_DOOR_OPEN | MCI_WAIT, 0);
          mciSendCommand(mciParams.wDeviceID, MCI_CLOSE, MCI_WAIT, 0);
     }
}

void CerrarCD()
{
     MCI_OPEN_PARMS mciParams;
     DWORD dwFlags;
     LPCTSTR szCharDrive = "D";

     memset(&mciParams, 0, sizeof(MCI_OPEN_PARMS));
     mciParams.lpstrDeviceType = (LPCSTR) MCI_DEVTYPE_CD_AUDIO;
     mciParams.lpstrElementName = szCharDrive;

     dwFlags= MCI_OPEN_TYPE | MCI_OPEN_TYPE_ID;

     if (!mciSendCommand(0, MCI_OPEN, dwFlags, (DWORD) &mciParams))
     {
          mciSendCommand(mciParams.wDeviceID, MCI_SET, MCI_SET_DOOR_CLOSED|MCI_WAIT,0);
          mciSendCommand(mciParams.wDeviceID, MCI_CLOSE, MCI_WAIT, 0);
     }
}

:http://www.programacionenc.net/modules.php?name=Tutoriales&d_op=vertuto&lid=38
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

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.
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

Para expusar la bandeja del CD no hay mas que hacer lo siguiente:

mciSendString("Set cdaudio door open wait",0,0,0);


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

mapers

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

leogtz

Cita de: mapers en 10 Junio 2010, 02:42 AM
y todo esto donde lo puedo estudiar o donde lo podria encontrar para leerlo a mas profundidad  ..............................
Cita de: Eternal Idol en  9 Junio 2010, 11:03 AM
http://msdn.microsoft.com

Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

Riki_89D

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