Descifra fácilmente el código fuente
.
Versión 2
. Conjunto ventana conjunto 1
. Variable de ensamblaje a, puntero de subrutina
. Subrutina_ _Ventana de inicio_ Creada
A = setwindowlong (_Ventana de inicio. Obtener identificador de ventana (), -4,; MsgProc)
. Subrutina MsgProc, tipo entero
. Parámetro hwnd, tipo entero
Parámetro mensaje, tipo entero
Parámetro wp, tipo entero
Parámetro lp, tipo entero
. Valor de variable local, PDEV_broadcast_volume.
. Variable local I, tipo entero.
. Máscara de variable local, tipo entero
. Empieza a juzgar (msg = 537)
. Inicio del juicio (WP = # dbt _ devicerarrival) 'Insertar dispositivo.
Copiar estructura(val, lp, 14)
. si es verdadero(val . dbcv _ tipo de dispositivo = # dbt _ dev typ _ volumen)
máscara = val.dbcv_unitmask
. Encabezado de bucle variable (0, 25, 1, I)
Si es verdadero (Y bit a bit (máscara, 1) = 1)
Salir del bucle ()
Si realmente se acabó.
Máscara = desplazamiento hacia la derecha (Máscara, 1)
. Cola de bucle variable()
Cuadro de edición 1. Agregue texto ("Se ha insertado disco U, letra de unidad: "Carácter (65 I) #nueva línea").
Detectar (Carácter (65 I))
Si realmente es así over
Juez (WP = # DBT _Eliminación del dispositivo completada)
Copiar estructura (val, lp, 14)
true(val . dbcv _ tipo de dispositivo = # dbt _ dev typ _ volume)
mask = val.dbcv_unitmask
Encabezado de bucle variable (0, 25, 1, I
Si es verdadero (). bit a bit AND(máscara, 1) = 1)
Salir del bucle()
Si es verdadero
Máscara = Desplazar a la derecha (Máscara, 1) p>
.Cola de bucle variable()
Agregar texto ("El disco USB está desconectado, letra de unidad: "Char(65I)#newline").
Si realmente se acabó.
. Predeterminado
La prueba finaliza
. Predeterminado
Fin de prueba
Regreso (procedimiento de ventana de llamada (a, hwnd, msg, WP, LP))
Subrutina__Ventana de inicio_se destruirá.
A = setwindowlong (_Iniciar ventana. Obtener identificador de ventana (), -4, a).
Detección de subrutinas
Letras de parámetros, tipo de texto
. Variable local fn, tipo de texto
Fn = Buscar archivo (letra de unidad ":\*).*",)
Cuadro de edición 2. contenido = " "
. Determine el cabezal del bucle (fn≦);
Cuadro de edición 2. Agregar texto(fn #newline)
Fn = buscar archivo(,)
.
Determinar el final del ciclo ()
≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈ ≈ͬͬͬͬͬͬ8
. Tipo de datos PDEV_broadcast_volume
Miembro dbcv_size, tipo entero,,,14.
. Miembro dbcv_devicetype, tipo entero.
. Miembro dbcv_reserved, entero.
. Miembro dbcv_unitmask, tipo entero.
. Miembro dbcv_flags, tipo entero corto.
. Tipo de datos_desarrollo_transmisión_HDR
. Miembro dbch_size, entero.
. Miembro dbch_devicetype, tipo entero.
. Miembro dbch_reserved, entero.
≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈ ≈≈ͬͬͬͬͬ
Constante WM_DEVICECHANGE, "537", se cambió la letra de la unidad.
. Constante dbt_deviceremovecommplete, " 32772 "
. const dbt_device rar oponente, "32768"
. Constante DBT_DevelopmentType_OEM, " 0 "
. Constante DBT_DevelopmentType_DevelopmentNode, " 1 "
. Constante DBT_DevelopmentType_Volume, " 2 "
. Const DBT_DevelopmentType_Port, "3"
. Constante DBT_DevelopmentType_N,"4"