SoloCodigo
Programación General => ASM (Ensamblador) => Mensaje iniciado por: Logan en Lunes 3 de Noviembre de 2003, 20:56
-
He usado la Int 19h para reiniciar el sistema (DOS), en lugar de cerrar un programa con mov ah,4Ch Int 21h lo he hecho con la int 19h y la ventana de ms-dos se cierra, esto usando un Windows Me, tambien lo he probado en windows 2000 y XP pero unicamente termina el programa sin cerrar la ventana, alguien sabe por que?
Aprovechando, deseo encontrar una forma de reiniciar el sistema Windows por medio de ensamblador ya sea 98, Me, 2000 o XP. No axactamente que es lo que tengo que hacer en ese caso.
-
Con interrupciones y en 16bits no he encontrado nada, solo con un compilador de 32bits como el MASM32 que con un sencillo programa utilizando las APIs puede cerrar windows; este es el codigo:
;#########################################################################
.386
.model flat, stdcall
option casemap :none ; case sensitive
;#########################################################################
include masm32includewindows.inc
include masm32includeuser32.inc
include masm32includekernel32.inc
includelib masm32libuser32.lib
includelib masm32libkernel32.lib
; #########################################################################
.code
start:
invoke ExitWindowsEx,1,0
invoke ExitProcess,eax
; #########################################################################
end start
; Flags for ExitWindowEx
; EWX_LOGOFF equ 0
; EWX_SHUTDOWN equ 1
; EWX_REBOOT equ 2
; EWX_FORCE equ 4
; EWX_POWEROFF equ 8
;;;///////////////////////////////////////////