_asm int 5H,可以使用visual studio执行此指令吗?

时间:2012-10-10 07:11:02

标签: winapi assembly x86 interrupt-handling

_asm int 5h通常用作prtscrn。怎么能检查这个。不仅prntscrn任何中断,如重启int 19h ..等可以通过应用程序中断。 我尝试编码重启

int _tmain(int argc, _TCHAR* argv[])
{
    //_asm mov al, 2
    _asm int 19h //reboot
    //_asm in 3
}

提供访问权限违规

2 个答案:

答案 0 :(得分:1)

一般来说,这些中断都受到保护(假设您没有在实模式DOS下运行)。也许int 5h 可能工作,因为它是按下打印屏幕键的中断。

答案 1 :(得分:1)

BIOS或MSDOS中断(int 0x10到​​0x33以及一些很少使用的数字较大的中断)都不能在Windows应用程序中运行。它们只能在DOS程序中工作。 Windows使用不同的方法为Windows应用程序提供其功能,Windows应用程序不支持所有这些BIOS / DOS用户。在Windows应用程序中,它们会导致异常,并且通常会导致操作系统终止程序。