Cuestión : Cancelar AutoPlay en Windows (XP y después) con C++

O.S. : Windows Xp y up
Language: Los individuos de C++

Hey, estoy haciendo un uso que sea enviado en un sistema múltiple de DVD. Todo el DVDs tendrá su propio archivo de autorun.inf (no puede cambiar esto) y una vez que se comienza el programa, requiere diverso DVDs ser insertado. Esto plantea la molestia inaceptable del tener el funcionamiento autoplay para cada DVD. Sé que Windows proporciona una manera de cancelar este (target= " _blank " de " http://msdn.microsoft.com/en-us/library/cc144204%28VS.85%29.aspx " del href= del el /en-us/library/cc144204%28VS.85%29.aspx de http://msdn.microsoft.com) pero soy inseguro cómo utilizar esto (no soy demasiado familiar con C++).

Just que copia la primera parte sobre el registro del uMessage = del RegisterWindowMessage (TEXT (“QueryCancelAutoPlay” del messages
) de las ventanas);
provides un error de la compilación de faltar un tipo. Soy inseguro cuáles el tipo sería, o si estoy faltando algún #include o biblioteca ligada. También, la parte siguiente del código proporcionado:

UINT = 0 g_uQueryCancelAutoPlay;
del

BOOL DialogProc (hwnd de HWND, uMsg de UINT, wParam de WPARAM, lParam de LPARAM) {
{defecto del interruptor del
(uMsg) del
del
…: ¡
si (! )
{
g_uQueryCancelAutoPlay = RegisterWindowMessage (TEXT (“QueryCancelAutoPlay”));
del
} si (== del uMsg g_uQueryCancelAutoPlay)
{
SetWindowLong (el hDlg, DWL_MSGRESULT, VERDAD);          vuelta 1 del
;               ¿trabajo del

does del
del
del
}}} no con”… “y las sugerencias indefinidas del

Any del “hDlg " en cómo ejecutar esto en un proyecto (u otras ideas, el cambio del registro no es exactamente mi mejor opción, con la ocasión omnipresente de no poder asegurar cambió la llave detrás)? ¡Mis apologías por mi ineptitude.

Thanks por adelantado!
class= del

Respuesta : Cancelar AutoPlay en Windows (XP y después) con C++

Hola j_willy,

¿en qué clase de uso usted necesita esto? ¿Con el MFC o fuera? ¿Si MFC, un diálogo, SDI o MDI?

I.e. si está para un uso del diálogo del MFC es absolutamente fácil. Apenas agregar una línea como este cercano la tapa (pero por lo menos debajo del “#include “stdafx.h” ") del archivo de la puesta en práctica del diálogo:

    UINT g_uQueryCancelAutoPlay = RegisterWindowMessage (TEXTO (“QueryCancelAutoPlay”));

Entonces agregar a tratante de mensaje para este mensaje agregando una entrada al mapa del mensaje de diálogos, es decir agregan esto en alguna parte entre “BEGIN_MESSAGE_MAP” y “END_MESSAGE_MAP”:

    ON_REGISTERED_MESSAGE (g_uQueryCancelAutoPlay, OnQueryCancelAutoPlay)

Agregar un declararation de la función para este tratante de mensaje en la declaración de la clase del diálogo como esto:

    afx_msg OnQueryCancelAutoPlay LARGO (wParam de WPARAM, lParam de LPARAM);

y ejecutarlo de alguna manera como esto en su diálogo (aquí asumo que el nombre de la clase de los diálogos es CTestDlg, lo substituye por su nombre de clases del diálogo):

    CTestDlg LARGO:: OnQueryCancelAutoPlay (wParam de WPARAM, lParam de LPARAM)
    {
     vuelta 1;
    }


Esperar que ayudas,

ZOPPO
    }




Otras soluciones  
 
programming4us programming4us