Visual Basic - AYUDA HELPME PLEASE

Life is soft - evento anual de software empresarial
 
Vista:

AYUDA HELPME PLEASE

Publicado por Domingo (52 intervenciones) el 03/11/2004 16:24:49
DOS AYUDAS POR FAVOR CONTESTADME LAS QUE SEPAIS PLEASE

1 COMO PUEDO CANCELAR UNA IMPRESION DE LA COLA DE LA IMPRESORA CON CODIGO

2 COMO PUEDO MODIFICAR EL ORDEN EN LA COLA DE IMPRESION DE LOS DOCUMENTOS

HE VISTO EJEMPLOS CON LAS APIS DE WINDOWS PERO SOLO TE INFORMAN DEL ESTADO DEL DOCUMENTO, PUERTO , USER, PAGINAS ETC ETC PERO NO VEO FUNCIONES PARA CANCELAR UN DOCUMENTO NI CAMBIAR EL ORDEN DE IMPRESION, UTILIZAN TIPOS CONSTANTES Y DECLARACIONES PERO SON EN ESTAS DONDE NO VEO SI SE PUEDE HACER , LAS CONSTANTES Y LOS TIPOS SON PARA INFORMARTE DEL ESTADO SOLO, AYUDADME POR FAVOR.

TIENE QUE VER CON MI OTRA PREGUNTA PARA A;ADIR UN LOGO A LOS DOCUMENTOS.

SALUDOS Y MUCHISIMAS GRACIAS POR ADELANTADO.

SALUDOS DE DOMINGO

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de RAUL
Val: 2
Ha aumentado su posición en 97 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:AYUDA HELPME PLEASE

Publicado por RAUL (443 intervenciones) el 04/11/2004 02:25:24
Para poder cerrar un proceso hay que seguir los siguientes pasos:
1. Obtener el identificador del proceso.
2. Abrir el proceso a partir de su identificador. Para ello, hay que utilizar la función OpenProcess:
Private Declare Function OpenProcess Lib "kernel32" (ByVal _
dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal _
dwProcessId As Long) As Long
3. Comprobar el estado del proceso con la función GetExitCodeProcess para comprobar que está activo:
Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal _
hProcess As Long, lpExitCode As Long) As Long
4. Si el proceso está activo hay que cerrarlo con la función TerminateProcess:
Private Declare Function TerminateProcess Lib "kernel32" (ByVal _
hProcess As Long, ByVal uExitCode As Long) As Long
5. Por último, si el proceso se cerró correctamente hay que liberar su manejador asociado con CloseHandle:
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject _
As Long) As Long
A continuación, se muestra un ejemplo en Visual Basic que implementa el kill -9. Siga los siguientes pasos para probar el código:
1. Cree un nuevo proyecto con un formulario.
2. Añada un botón y una caja de texto con las siguientes propiedades:
Command1
Name: btnCerrar
Caption: &Matar Proceso
Text1
Name: txtIdProceso
Text: ""
sigue...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de RAUL
Val: 2
Ha aumentado su posición en 97 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:AYUDA HELPME PLEASE

Publicado por RAUL (443 intervenciones) el 04/11/2004 02:27:43
3. Copie o pegue el siguiente código en el formulario:
Private Declare Function OpenProcess Lib "kernel32" (ByVal _
dwDesiredAccess As Long, ByVal bInheritHandle As Long, _
ByVal dwProcessId As Long) As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" _
(ByVal hProcess As Long, lpExitCode As Long) As Long
Private Declare Function TerminateProcess Lib "kernel32" _
(ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject _
As Long) As Long

Const PROCESS_TERMINATE = &H1
Const PROCESS_QUERY_INFORMATION = &H400
Const STILL_ACTIVE = &H103
Private Sub btnCerrar_Click()
Dim hProceso As Long
Dim lEstado As Long
' Obtenemos el handle al proceso
hProceso = OpenProcess(PROCESS_TERMINATE Or _
PROCESS_QUERY_INFORMATION, 0, CLng(txtIdProceso))
If hProceso <> 0 Then
' Comprobamos estado del proceso
GetExitCodeProcess hProceso, lEstado
If lEstado = STILL_ACTIVE Then
' Cerramos el proceso
If TerminateProcess(hProceso, 9) <> 0 Then
MsgBox "Proceso cerrado"
Else
MsgBox "No se pudo matar el proceso"
End If
End If
' Cerramos el handle asociado al proceso
CloseHandle hProceso
Else
MsgBox "No se pudo tener acceso al proceso"
End If
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

GRACIAS RAUL PERO NO ME FUNC. TE HE ENVIADO UN EME

Publicado por Domingo (52 intervenciones) el 04/11/2004 14:18:57
GRACIAS AMIGO RAUL TE HE ENVIADO UN E MAIL CON OTRAS CUESTIONES
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar